博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python PIL比较图片像素
阅读量:5208 次
发布时间:2019-06-14

本文共 1928 字,大约阅读时间需要 6 分钟。

1 # -*- coding: utf-8 -*- 2  3 from PIL import Image 4 from pylab import * 5  6 def compare_pic_L(pic1,pic2): 7     #打开第一张图片 8     im1 = Image.open(pic1).convert('L') 9     print im1.format ,im1.size, im1.mode10     11     #像素值转数组12     aim1 = np.transpose(array(im1))13     #im1.show()14 15     im2=Image.open(pic2).convert('L')16     aim2=np.transpose(array(im2))17     im2.show()18 19     dif= np.zeros((300,307))20 21     for x in range(dif.shape[0]):22         for y in range(dif.shape[1]):23             if aim1[x,y] == aim2[x,y] :24                 dif[x,y]=25525             else:26                 dif[x,y]=027                 #print dif[x,y]28     #print dif29     print 'dif:',dif.shape30 31     x=im1.size[0]32     y=im1.size[1]33     34     c = Image.new("L",(x,y),(255))35     #c.show()36     #用 像素灰度值画图37     for u in range(0,x):38         for i in range(0,y):39             #print type(dif[i,u])40             ss=int(dif[u,i])41             c.putpixel((u,i),ss)42     c.show()43 44 def compare_colorful_pic(pic1,pic2):45     #打开第一张 把像素点信息保存到数组46     im3_1 = Image.open(pic1)47     array_im1=np.transpose(array(im3_1))48     print array_im1.shape49 50     #打开第二张51     im33_ = Image.open(pic2)52     array_im2=np.transpose(array(im33_))53     print array_im2.shape54 55     #作差56     dif_=array_im2 - array_im157     #print dif_58     print type(dif_)59 60     #用像素点三基色画图61     pic_D = Image.new("RGB",(array_im1.shape[1],array_im1.shape[2]),(255))62     for x in range(array_im1.shape[1]):63         for y in range(array_im1.shape[2]):64             65             pic_D.putpixel((x,y),(255-dif_[0,x,y],255-dif_[1,x,y],255-dif_[2,x,y]))66             #注意 两个参数都为元组;;第一个参数:像素数量 宽*高,第二个参数为 三基色 (三通道)67 68     pic_D.show()69     pic_D.save('d.jpg')70 71 if __name__ == "__main__":72     compare_pic_L('2.jpg','2__.jpg')73     compare_colorful_pic('2.jpg','2__.jpg')

 

转载于:https://www.cnblogs.com/willowj/p/6234873.html

你可能感兴趣的文章
nagios安装与配置
查看>>
利用DataSet更改数据,将更改保存到数据库中
查看>>
Partition(线段树的离线处理)
查看>>
poj3449Geometric Shapes
查看>>
利用WebApplicationInitializer配置SpringMVC取代web.xml
查看>>
MySQL DBA成长之路
查看>>
探秘启明星辰大数据安全分析平台
查看>>
Thread State
查看>>
Linux 动态链接库 - dll劫持
查看>>
Silverlight4 图片上传与位置标记
查看>>
AIC和BIC
查看>>
oracle生成主键
查看>>
秦旭光第一周任务
查看>>
java - day11 - OverRideTest
查看>>
Objective-C 内存管理之dealloc方法中变量释放处理
查看>>
iOS开发 viewWillAppear:(BOOL)animated真机调试的时候不执行了怎么办
查看>>
2019年高速免费
查看>>
实验三— —敏捷开发与XP实践
查看>>
POJ 1691 Painting A Board(DFS)
查看>>
Python【每日一问】15
查看>>