-3
有没有办法用命令行工具逐个像素地比较.tiff文件?是否有一个命令行工具可以直观地比较.tiff文件(逐个像素)?
例如:
输入:工具image1.tiff image2.tiff
输出:真(布尔)(如果相同),假(布尔)(如果差异是找到)
也许还有一个Java代码/工具?
预先感谢您!
有没有办法用命令行工具逐个像素地比较.tiff文件?是否有一个命令行工具可以直观地比较.tiff文件(逐个像素)?
例如:
输入:工具image1.tiff image2.tiff
输出:真(布尔)(如果相同),假(布尔)(如果差异是找到)
也许还有一个Java代码/工具?
预先感谢您!
您可以使用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.)
如果你只想要一个真/假响应,只需计算和比较md5或其他东西。 –
目前尚不清楚是否比较_files_,像diff和md5sum这样的操作系统工具可能是适合的,或者比较实际的图像数据。如果目的是比较图像数据,例如,如果颜色在不同文件中编码的方式不同,会发生什么情况?我们是否需要检查图像数据是否相同(只要这是可能的),或者在某个阈值内。 FWIW我可以提供一些Java代码,将TIFF读入RGB像素值的数组中;但是你仍然需要弄清楚如何进行实际的比较。 –