# -*- coding: utf-8 -*-

 from PIL import Image
from pylab import * def compare_pic_L(pic1,pic2):
#打开第一张图片
im1 = Image.open(pic1).convert('L')
print im1.format ,im1.size, im1.mode #像素值转数组
aim1 = np.transpose(array(im1))
#im1.show() im2=Image.open(pic2).convert('L')
aim2=np.transpose(array(im2))
im2.show() dif= np.zeros((300,307)) for x in range(dif.shape[0]):
for y in range(dif.shape[1]):
if aim1[x,y] == aim2[x,y] :
dif[x,y]=255
else:
dif[x,y]=0
#print dif[x,y]
#print dif
print 'dif:',dif.shape x=im1.size[0]
y=im1.size[1] c = Image.new("L",(x,y),(255))
#c.show()
#用 像素灰度值画图
for u in range(0,x):
for i in range(0,y):
#print type(dif[i,u])
ss=int(dif[u,i])
c.putpixel((u,i),ss)
c.show() def compare_colorful_pic(pic1,pic2):
#打开第一张 把像素点信息保存到数组
im3_1 = Image.open(pic1)
array_im1=np.transpose(array(im3_1))
print array_im1.shape #打开第二张
im33_ = Image.open(pic2)
array_im2=np.transpose(array(im33_))
print array_im2.shape #作差
dif_=array_im2 - array_im1
#print dif_
print type(dif_) #用像素点三基色画图
pic_D = Image.new("RGB",(array_im1.shape[1],array_im1.shape[2]),(255))
for x in range(array_im1.shape[1]):
for y in range(array_im1.shape[2]): pic_D.putpixel((x,y),(255-dif_[0,x,y],255-dif_[1,x,y],255-dif_[2,x,y]))
#注意 两个参数都为元组;;第一个参数:像素数量 宽*高,第二个参数为 三基色 (三通道) pic_D.show()
pic_D.save('d.jpg') if __name__ == "__main__":
compare_pic_L('2.jpg','2__.jpg')
compare_colorful_pic('2.jpg','2__.jpg')

python PIL比较图片像素的更多相关文章

  1. Python PIL Image图片显示系列

    1. PIL Image图片显示 在使用PIL函数中的Image方法读取图片时,对于图片的shape,可能有不少宝宝存在疑惑.是什么疑惑了?就是image = Image.open(image_pat ...

  2. python PIL实现图片合成

    在项目中需要将两张图片合在一起.遇到两种情况,一种就是两张非透明图片的合成, 一种是涉及到透明png的合成. 相关API见 http://pillow.readthedocs.io/en/latest ...

  3. python PIL图像处理-图片上添加文字

    首先需要安装库pillow cmd安装命令:pip install pillow 安装完后,编写脚本如下: from PIL import Image, ImageDraw, ImageFont de ...

  4. Python,PIL压缩裁剪图片

    自己写了用来压缩 DC 照片的,批量处理整目录文件,非常方便.需要安装 PIL #!/usr/bin/env python import Image import os import os.path ...

  5. python base64 编解码,转换成Opencv,PIL.Image图片格式

    二进制打开图片文件,base64编解码,转成Opencv格式: # coding: utf-8 import base64 import numpy as np import cv2 img_file ...

  6. 基于Python PIL实现简单图片格式转化器

    基于Python PIL实现简单图片格式转化器 目录 基于Python PIL实现简单图片格式转化器 1.简介 2.前期资料准备 2.1.1如何实现图片格式转换? 2.1.2如何保存需要大小的图片? ...

  7. python PIL Image模块

    原地址:http://hi.baidu.com/drunkdream/item/9c9ac638dfc46ec6382ffac5 实验环境: windows7+python2.6+pycrust+PI ...

  8. python 将png图片格式转换生成gif动画

    先看知乎上面的一个连接 用Python写过哪些[脑洞大开]的小工具? https://www.zhihu.com/question/33646570/answer/157806339 这个哥们通过爬气 ...

  9. Python PIL

    Python PIL PIL (Python Image Library) 库是Python 语言的一个第三方库,PIL库支持图像存储.显示和处理,能够处理几乎所有格式的图片. 一.PIL库简介 1. ...

随机推荐

  1. jws.mono脚本安装详解

    就在最近两天,最新版本的jws.mono上线了,这个版本除了提供与之前版本拥有的功能外,还额外提供了一个“自动化”的安装脚本,通过执行该脚本,jws.mono将自动快速的安装到指定的目录,同时,通过改 ...

  2. SQL Server 的 Statistics 簡介

    當你要清空「資料表(table)」,或倒入大量「資料(data;record)」,或公司「資料庫(database)」改用新版本要資料大搬家…等情形,不只是要重建「索引(index)」,還應要重建或更 ...

  3. easyui datagrid cell title换行

    " " title="' +row.TaskName + "

  4. Angularjs1培训

    Angularjs1培训: angularjs解决什么问题? 从无穷无尽的DOM操作中解放出来,专注于业务逻辑,DOM操作不叫业务逻辑,那是试图呈现. 组件化,模块化为构建大型项目铺平道路,模块发开发 ...

  5. linux创建进程fork的方法步骤

    fork创建进程 函数原型如下 #include// 必须引入头文件,使用fork函数的时候,必须包含这个头文件,否则,系统找不到fork函数 pid_t fork(void); //void代表没有 ...

  6. 分享一个LiteDB做的简单考试系统辅助工具

    凌晨,被安排在公司值班,因为台风“灿鸿”即将登陆,风力太大,办公楼,车间等重要部分需要关注.所以无聊,那就分享一下,今天给朋友临时做的一个小的考试系统辅助工具吧.其实非常小,需求也很简单,但是可以根据 ...

  7. Android okHttp网络请求之Get/Post请求

    前言: 之前项目中一直使用的Xutils开源框架,从xutils 2.1.5版本使用到最近的xutils 3.0,使用起来也是蛮方便的,只不过最近想着完善一下app中使用的开源框架,由于Xutils里 ...

  8. Mac如何删除MySQL,Mac下MySQL卸载方法

    在Mac下安装完MySQL之后,出现了无法启动的问题,多翻尝试依然不能解决问题,最后只能把它删掉. 如何在Mac下删除MySQL呢,只需要在终端执行如下命令就可以把MySQL在Mac下彻底删除干净了. ...

  9. IntelliJ IDEA上创建maven Spring MVC项目

    IntelliJ IDEA上创建Maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.x ...

  10. 实验记录:Oracle redo logfile的resize过程

    实验记录:Oracle redo logfile的resize过程. 实验环境:RHEL 6.4 + Oracle 11.2.0.3 单实例 文件系统 实验目的:本实验是修改redo logfile的 ...