像素级图像比较库。

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 BasicDataSource提交不起作用   java如何在SpringSecurity中为特殊情况下的身份验证失败定制http状态代码?   java Hibernate,SQL Server 2016=SQL错误:207无效列名   继承确保运行时Java超类是正确的   java重写hashcode方法以返回类中变量的hashcode   java无法缩放不同设备的文本大小   java Comparator作为静态字段接口还是实现?   java MessageSource不重新加载属性文件   使用方法setToolTip()在中更改后,操作上的java Keybinding工具提示消失   java使用maven添加调试符号   java转换时应该绑定哪个版本的JRE。使用launch4j将jar转换为exe   java Anylogic实验坚持使用范围内的可变参数,但在自由形式参数中工作良好   关于BuffereImage和Image的java问题   java当我试图在终端的Applications文件夹中显示内容时,我得到了“chromeapps.localized”   java如何使用正则表达式模式拆分字符串   java如何计算重复联系人数   java真的不可能保护Android应用免受逆向工程的影响吗?   java无法将值从活动转移到存储库以将其传递到Dao方法   Java中的名称空间包相对标识符路径   排序Java添加和排序列表的快速方法