像素级图像比较库。
pixelmatch的Python项目详细描述
像素匹配
一个快速的像素级图像比较库,最初是为了比较测试中的屏幕截图而创建的。 现在有了更多的支持图片实例 https://github.com/mapbox/pixelmatch的Python端口。在
具有精确的抗锯齿像素检测 和感知色差度量。在
frompixelmatchimportpixelmatchnum_diff_pixels=pixelmatch(img1,img2,800,600,diff,threshold=0.1)
实施以下文件中的想法:
- Measuring perceived color difference using YIQ NTSC transmission color space in mobile applications(2010年,尤里·科察连科,费尔南多·拉莫斯)
- Anti-aliased pixel and intensity slope detector(2009年,维托塔斯·维尼奥斯卡斯)
安装
^{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)
img1
,img2
-RGBA要比较的图像的图像数据。注意:图像尺寸必须相等。在width
,height
-图像的宽度和高度。在output
-将diff写入的图像数据,或者None
如果不需要diff图像。请注意,所有三个图像都需要具有相同的维度。在threshold
-匹配阈值,范围从0
到{}。值越小,比较越敏感。 0.1
默认情况下。在includeAA
-如果true
,则禁用检测并忽略抗锯齿像素。false
默认情况下。在alpha
-diff输出中未更改像素的混合因子。范围从0
到原始亮度的1
。0.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,除了它需要图片对于图像参数(img1
、img2
和output
)和宽度/大小不需要指定。在
输出示例
expected | actual | diff |
---|---|---|
变更日志
v0.2.1
- 专长:添加要比较的函数图片实例到contrib.PIL.pixelmatch公司#42
v0.2.0
- 中断更改:删除
options
参数#38 - 文档:对自述文件中的图像使用绝对url
v0.1.1
- 修复:修复快速路径中的错误#18
v0.1.0
- 初次发行
- 项目
标签: