python PIL比较图片像素
# -*- 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比较图片像素的更多相关文章
- Python PIL Image图片显示系列
1. PIL Image图片显示 在使用PIL函数中的Image方法读取图片时,对于图片的shape,可能有不少宝宝存在疑惑.是什么疑惑了?就是image = Image.open(image_pat ...
- python PIL实现图片合成
在项目中需要将两张图片合在一起.遇到两种情况,一种就是两张非透明图片的合成, 一种是涉及到透明png的合成. 相关API见 http://pillow.readthedocs.io/en/latest ...
- python PIL图像处理-图片上添加文字
首先需要安装库pillow cmd安装命令:pip install pillow 安装完后,编写脚本如下: from PIL import Image, ImageDraw, ImageFont de ...
- Python,PIL压缩裁剪图片
自己写了用来压缩 DC 照片的,批量处理整目录文件,非常方便.需要安装 PIL #!/usr/bin/env python import Image import os import os.path ...
- python base64 编解码,转换成Opencv,PIL.Image图片格式
二进制打开图片文件,base64编解码,转成Opencv格式: # coding: utf-8 import base64 import numpy as np import cv2 img_file ...
- 基于Python PIL实现简单图片格式转化器
基于Python PIL实现简单图片格式转化器 目录 基于Python PIL实现简单图片格式转化器 1.简介 2.前期资料准备 2.1.1如何实现图片格式转换? 2.1.2如何保存需要大小的图片? ...
- python PIL Image模块
原地址:http://hi.baidu.com/drunkdream/item/9c9ac638dfc46ec6382ffac5 实验环境: windows7+python2.6+pycrust+PI ...
- python 将png图片格式转换生成gif动画
先看知乎上面的一个连接 用Python写过哪些[脑洞大开]的小工具? https://www.zhihu.com/question/33646570/answer/157806339 这个哥们通过爬气 ...
- Python PIL
Python PIL PIL (Python Image Library) 库是Python 语言的一个第三方库,PIL库支持图像存储.显示和处理,能够处理几乎所有格式的图片. 一.PIL库简介 1. ...
随机推荐
- Linux 自动同步服务器时间
200 ? "200px" : this.width)!important;} --> 介绍 Linux服务器运行久时,系统时间就会存在一定的误差,本篇文章就来介绍怎样使服务 ...
- 程序员眼中的 SQL Server-执行计划教会我如何创建索引?
先说点废话 以前有 DBA 在身边的时候,从来不曾考虑过数据库性能的问题,但是,当一个应用程序从头到脚都由自己完成,而且数据库面对的是接近百万的数据,看着一个页面加载速度像乌龟一样,自己心里真是有种挫 ...
- Azure PowerShell (2) 修改Azure订阅名称
<Windows Azure Platform 系列文章目录> Update: 2016-01-11 笔者文档主要都是用Azure PowerShell 0.x版本来实现的,比如0.98版 ...
- 我如何介绍 Microservice
这篇文章转自我的 Github blog 一天我司招财猫姐(HR 大人)问我,你给我解释一下 Microservice 是什么吧.故成此文.一切都是从一个创业公司开始的. 故事 最近的创业潮非常火爆, ...
- spring事务管理器设计思想(一)
在最近做的一个项目里面,涉及到多数据源的操作,比较特殊的是,这多个数据库的表结构完全相同,由于我们使用的ibatis框架作为持久化层,为了防止每一个数据源都配置一套规则,所以重新实现了数据源,根据线程 ...
- Ubuntu安装Python2.7,nodejs
安装Python2.7 sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7sudo apt-get update sudo apt-get ...
- xamarin UWP证书问题汇总
打算开发一个软件使用rsa加密的东西,所以有用到数字证书这块,最近遇到些问题, 问题一:使用如下代码添加数字证书后,在证书管理器的当前用户和本地计算机下都找不到这张证书. using (X509Sto ...
- SQL语句全
创建数据库 创建之前判断该数据库是否存在 if exists (select * from sysdatabases where name='databaseName') drop database ...
- Spring声明式事务管理
一.Spring 的声明式事务管理概述 1.Spring 的声明式事务管理在底层是建立在 AOP 的基础之上的.其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法 ...
- C#设计模式-装饰者模式
在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类).Access ...