2017-08-30 82 views
-3

有没有办法用命令行工具逐个像素地比较.tiff文件?是否有一个命令行工具可以直观地比较.tiff文件(逐个像素)?

例如:

输入:工具image1.tiff image2.tiff

输出:真(布尔)(如果相同),假(布尔)(如果差异是找到)

也许还有一个Java代码/工具?

预先感谢您!

+0

如果你只想要一个真/假响应,只需计算和比较md5或其他东西。 –

+0

目前尚不清楚是否比较_files_,像diff和md5sum这样的操作系统工具可能是适合的,或者比较实际的图像数据。如果目的是比较图像数据,例如,如果颜色在不同文件中编码的方式不同,会发生什么情况?我们是否需要检查图像数据是否相同(只要这是可能的),或者在某个阈值内。 FWIW我可以提供一些Java代码,将TIFF读入RGB像素值的数组中;但是你仍然需要弄清楚如何进行实际的比较。 –

回答

1

您可以使用ImageMagick for comparing images。根据其documentation,它也支持TIFF文件。

命令用于比较图像:

compare -verbose -metric mae pic1.tiff pic2.tiff difference.png 

对于相同的图像,将打印仅零:

Channel distortion: MAE 
    red: 0 (0) 
    green: 0 (0) 
    blue: 0 (0) 
    alpha: 0 (0) 
    all: 0 (0) 

对于不同的图像,将打印的非零值,例如:

Channel distortion: MAE 
    red: 2282.91 (0.034835) 
    green: 1853.99 (0.0282901) 
    blue: 2008.67 (0.0306503) 
    all: 1536.39 (0.0234439) 

或者如果图像的大小不同,它会抱怨:

image widths or heights differ 

您可以使用这些输出为您自己生成真/假值。 (Here are some ideas.

相关问题