图像是否存在“差异”?

图像是否存在“差异”?

你可以很轻松地比较两个文本文件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

tux_orig 的源代码 图片来自 tux_modified

给出此图像:

图像差异

通过指标比较两幅图像:

还有许多方法可以通过一些指标输出差异,例如:

# 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

  1. 有命令idiff在包装中openimageio-工具主页)。
  2. 有命令perceptualdiff在包装中知觉差异主页)。
  3. 有命令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,它也会在后台运行。

安装完成后,如果插件正常运行,您可以:

  1. 打开 Nautilus,浏览到第一张图片

  2. 右键单击第一张图片以调出上下文菜单,然后选择选择左侧文件进行比较/合并

  3. 浏览至第二张图片

  4. 右键单击第二幅图像,然后选择与“NameOfFirstImageFile”进行比较其中 NameOfFirstImageFile 是您在步骤 2 中选择的文件的名称。

  5. 然后图像将在 Beyond Compare 中打开,看起来像这样:

    Beyond Compare 图像比较

II. 使用 Geeqie 查找相似/重复的图像

  1. 将其绑定到终端来安装 Geeqie: sudo apt 安装 geeqie

  2. 打开 Geeqie,然后浏览到您想要扫描的目录。

  3. 右键单击要扫描的目录名称并选择 查找重复项...仅扫描该目录,或选择递归查找重复项...扫描该目录及其下的所有目录。

    在此处输入图片描述

  4. 使用比较方式左下角的下拉列表中,您可以选择按校验和、文件名或相似度级别查找重复项。如果您裁剪、旋转或调整了图片大小,相似度功能就非常有用,而当我们裁剪/调整图片大小以发布到社交媒体等上时,您不再需要这样做。

答案4

我刚刚发现图像差异看起来很有用

相关内容