Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否有命令行工具可以直观地(逐像素)比较.tiff文件?_Java_Command Line_Compare_Tiff - Fatal编程技术网

Java 是否有命令行工具可以直观地(逐像素)比较.tiff文件?

Java 是否有命令行工具可以直观地(逐像素)比较.tiff文件?,java,command-line,compare,tiff,Java,Command Line,Compare,Tiff,有没有办法用命令行工具逐像素比较.tiff文件 例如: Channel distortion: MAE red: 2282.91 (0.034835) green: 1853.99 (0.0282901) blue: 2008.67 (0.0306503) all: 1536.39 (0.0234439) 输入:工具图像1.tiff图像2.tiff 输出:True(bool)(如果相同),False(bool)(如果发现差异) 也可能是Java代码/工具 提前谢

有没有办法用命令行工具逐像素比较.tiff文件

例如:

Channel distortion: MAE
    red: 2282.91 (0.034835)
    green: 1853.99 (0.0282901)
    blue: 2008.67 (0.0306503)
    all: 1536.39 (0.0234439)
输入:工具图像1.tiff图像2.tiff

输出:True(bool)(如果相同),False(bool)(如果发现差异)

也可能是Java代码/工具


提前谢谢你

您可以将ImageMagick用于。根据its,它也支持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

您可以使用这些输出为自己生成真/假值。()

如果你只想要一个正确/错误的响应,只需计算并比较md5或其他东西。目前还不清楚目的是比较文件(diff和md5sum等操作系统工具可能适用于这些文件),还是比较实际的图像数据。如果目的是比较图像数据,例如,如果不同文件中的颜色编码不同,会发生什么情况?我们是否需要检查图像数据是否相同(尽可能),或者是否在某个阈值内。FWIW I可以提供一些Java代码,将TIFF读入RGB像素值数组;但你仍然需要弄清楚如何进行实际的比较。