比较两张图片并找出%差异

2024-10-01 11:38:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想比较两张图片,知道它们之间的百分比差异。我在raspberry pi和python语言上使用raspbian。我已经找到了PIL和magickimage,但是对于magick image,我找不到函数,对于PIL,我得到了奇怪的结果。在

对于Pil,我使用以下代码:

h1 = image1.histogram()
h2 = image2.histogram()
rms = math.sqrt(reduce(operator.add,map(lambda a,b: (a-b)**2, h1, h2))/len(h1))

当我用0.5秒的间隔拍两张照片(没有差别)时,我得到的结果是:rms=4743.766。。。。如果我在两张照片之间移动,我的rms:4699.288。。。。。 所以这两个“相同”的图像和我移动的时候没有区别:/


Tags: 语言pilpi图片h2差异h1raspberry
1条回答
网友
1楼 · 发布于 2024-10-01 11:38:12

使用compare,它是ImageMagick的一部分。像这样:

compare -metric AE image1.png image2.png null:

AE给出绝对误差,以像素数差的计数表示。您还可以使用MAE(平均绝对误差),或PAE(峰值绝对误差)或{}(均方根误差)。您还可以添加一个fuzz因子来允许像素值的细微差异,如下所示:

^{pr2}$

如果您想在shell变量中找到答案,比如ndiff,可以这样做:

ndiff=`compare -fuzz 10% -metric AE image1.png image2.png null: `
echo $ndiff

相关问题 更多 >