像素级图像比较库。

pixelmatch的Python项目详细描述


像素匹配

一个快速的像素级图像比较库,最初是为了比较测试中的屏幕截图而创建的。 现在有了更多的支持图片实例 https://github.com/mapbox/pixelmatch的Python端口。在

具有精确的抗锯齿像素检测感知色差度量。在

frompixelmatchimportpixelmatchnum_diff_pixels=pixelmatch(img1,img2,800,600,diff,threshold=0.1)

实施以下文件中的想法:

安装

^{pr2}$

示例用法

在图片比较

fromPILimportImagefrompixelmatch.contrib.PILimportpixelmatchimg_a=Image.open("a.png")img_b=Image.open("b.png")img_diff=Image.new("RGBA",img_a.size)# note how there is no need to specify dimensionsmismatch=pixelmatch(img_a,img_b,img_diff,includeAA=True)img_diff.save("diff.png")

原始图像数据比较

frompixelmatchimportpixelmatchwidth,height=1920,1080img_a=[R1,G1,B1,A1,R2,B2,G2,A2,...]img_b=[R1,G1,B1,A1,R2,B2,G2,A2,...]data_diff=[0]*len(img_a)mismatch=pixelmatch(img_a,img_b,width,height,data_diff,includeAA=True)

美国石油学会

像素匹配(img1、img2、宽度、高度、输出、阈值、includeAA、alpha、aa_color、diff_color、diff帴mask)

  • img1img2-RGBA要比较的图像的图像数据。注意:图像尺寸必须相等。在
  • widthheight-图像的宽度和高度。在
  • output-将diff写入的图像数据,或者None如果不需要diff图像。请注意,所有三个图像都需要具有相同的维度。在
  • threshold-匹配阈值,范围从0到{}。值越小,比较越敏感。0.1默认情况下。在
  • includeAA-如果true,则禁用检测并忽略抗锯齿像素。false默认情况下。在
  • alpha-diff输出中未更改像素的混合因子。范围从0到原始亮度的10.1默认情况下。在
  • aa_color-diff输出中[R, G, B]格式的抗锯齿像素的颜色。[255, 255, 0]默认情况下。在
  • diff_color-diff输出中[R, G, B]格式中不同像素的颜色。[255, 0, 0]默认情况下。在
  • diff_mask-在透明背景(遮罩)上绘制diff,而不是在原始图像上。不会绘制抗锯齿像素(如果检测到)。在

比较两个图像,写入输出差异并返回不匹配的像素数。在

在contrib.PIL.pixelmatch公司

比较两个图像,写入输出差异并返回不匹配的像素数。与pixelmatch.pixelmatch完全相同的API,除了它需要图片对于图像参数(img1img2output)和宽度/大小不需要指定。在

输出示例

expectedactualdiff
https://github.com/whtsky/pixelmatch-py/raw/master/fixtures/4a.pnghttps://github.com/whtsky/pixelmatch-py/raw/master/fixtures/4b.png1diff
https://github.com/whtsky/pixelmatch-py/raw/master/fixtures/3a.pnghttps://github.com/whtsky/pixelmatch-py/raw/master/fixtures/3b.png1diff
https://github.com/whtsky/pixelmatch-py/raw/master/fixtures/6a.pnghttps://github.com/whtsky/pixelmatch-py/raw/master/fixtures/6b.png1diff
https://github.com/whtsky/pixelmatch-py/raw/master/fixtures/7a.pnghttps://github.com/whtsky/pixelmatch-py/raw/master/fixtures/7b.png1diff

变更日志

v0.2.1

  • 专长:添加要比较的函数图片实例到contrib.PIL.pixelmatch公司#42

v0.2.0

  • 中断更改:删除options参数#38
  • 文档:对自述文件中的图像使用绝对url

v0.1.1

  • 修复:修复快速路径中的错误#18

v0.1.0

  • 初次发行

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Rallyrestapi v2。21 updateCollection无法工作   Java在Windows Server 2003上执行wmic命令时陷入无限循环   java OpenCSV将具有嵌套bean的对象转换为csv   java如何循环JopOptions窗格   如何在java中以随机方式删除出生日期,从而在输入相同的原始出生日期时生成相同的随机数   swing为什么要冻结我的java程序?   java抽象窗口工具包JDK中的本机API调用在哪里   swing在Java中创建一个类似Eclipse的IDE   java如何使用selenium获取WebElement文本   java在listview中保存复选框的状态,不能将光标设为final   java Analytics如何获取删除了%或%的用户数   java为什么我们需要一个每月一次的解释器/汇编器来在运行时将代码转换为本机机器??   java如何实现方法注入   MongoDB java API我不明白为什么MongoDB java API不能为特定的日期范围标准返回正确的结果?   java通过ObjectInputStream发送对象的LinkedList会引发异常“NotSerializableException”和“StreamCorruptedException”