你可以很轻松地比较两个文本文件diff
,使用 meld 效果会更好:
如果对图像使用 diff,则会得到如下示例:
$ diff zivi-besch.tif zivildienst.tif
Binary files zivi-besch.tif and zivildienst.tif differ
以下是一个例子:
原文来自http://commons.wikimedia.org/wiki/File:Tux.svg
編輯:
我为两张图片添加了白色背景,并应用了 GIMP 的“差异”过滤器来获得这样的效果:
这是一个非常简单的差异工作方法,但我可以想象出更好(更复杂)的方法。
您是否知道一个可以处理图像的程序,就像 meld 处理文本一样?
(如果存在一个可以给出百分比(0%相同的图像 - 100%相同的图像)的程序,我也会对它感兴趣,但我正在寻找一个可以给我视觉提示差异所在的程序。)
答案1
是的,有这样的程序!
图像魔术师具有compare
实用程序,其中有几种比较图像的方法。
安装方法:
sudo apt-get install imagemagick imagemagick-doc
直观地比较两幅图像:
compare -compose src tux_orig.png tux_modified.png tux_difference.png
tux_orig.png
&tux_modified.png
给出此图像:
通过指标比较两幅图像:
还有许多方法可以通过一些指标输出差异,例如:
# compare -verbose -metric PSNR tux_orig.png tux_modified.png tux_difference.png
tux_orig.png PNG 200x232 200x232+0+0 8-bit sRGB 20.6KB 0.000u 0:00.000
tux_modified.png PNG 200x232 200x232+0+0 8-bit sRGB 22.2KB 0.010u 0:00.000
Image: tux_orig.png
Channel distortion: PSNR
red: 19.5485
green: 19.5973
blue: 19.6507
alpha: 16.1568
all: 18.4517
tux_orig.png=>tux_difference.png PNG 200x232 200x232+0+0 8-bit sRGB 12.3KB 0.030u 0:00.020
一些度量选项:
AE absolute error count, number of different pixels (-fuzz effected)
FUZZ mean color distance
MAE mean absolute error (normalized), average channel error distance
MEPP mean error per pixel (normalized mean error, normalized peak error)
MSE mean error squared, average of the channel error squared
NCC normalized cross correlation
PAE peak absolute (normalize peak absolute)
PSNR peak signal to noise ratio
RMSE root mean squared (normalized root mean squared)
有很多方法可以比较图像,请参见ImageMagicks 比较部分以了解更多方法。
答案2
- 有命令
idiff
在包装中openimageio-工具(主页)。 - 有命令
perceptualdiff
在包装中知觉差异(主页)。 - 有命令
uprightdiff
在包装中直立差分(主页)。
答案3
这个问题是 2012 年提出的,现在是 2017 年。我们现在有非开源程序无可比拟比较图像,并将其集成到 Nautilus 中。我们也有盖奇一直在整个目录结构中查找相似的图像(递归)。
一、使用 Beyond Compare 查找图像差异
点击此链接下载超越比较.deb 软件包。
转到下载该包的目录并输入以下内容来安装该包: sudo dpkg -i 你的软件包名称.deb此刻被称为bcompare-4.2.2.22384_amd64.deb,因此你可以输入:sudo dpkg -i bcompare-4.2.2.22384_amd64.deb
要完成安装并使插件在 Nautilus 中工作,您需要注销然后重新登录,因为即使您没有打开 Nautilus,它也会在后台运行。
安装完成后,如果插件正常运行,您可以:
打开 Nautilus,浏览到第一张图片
右键单击第一张图片以调出上下文菜单,然后选择选择左侧文件进行比较/合并
浏览至第二张图片
右键单击第二幅图像,然后选择与“NameOfFirstImageFile”进行比较其中 NameOfFirstImageFile 是您在步骤 2 中选择的文件的名称。
然后图像将在 Beyond Compare 中打开,看起来像这样:
II. 使用 Geeqie 查找相似/重复的图像
答案4
我刚刚发现图像差异看起来很有用