在java中裁剪和比较两个图像样本

时间:2016-03-16 15:39:25

标签: java image imagemagick crop

我试图裁剪并比较两个图像,所以我创建了这个方法,它将以下字符串作为命令行返回到终端:

public static String compare(String samplePath, String screenshotPath, String diffFolder) {
    return "convert " + samplePath+ " "+screenshotPath+" -crop 1010x1918 +repage miff:- | compare -metric RMSE - "+diffFolder+"_cropped_diff.png";
    }

终端输出如下:

  

转换img1.png screenshot1.png -crop 1010x1918 + repage miff: - |比较-metric RMSE - result / cropped_diff.png

但它返回给我以下输出:

  

compare.im6:图像宽度或高度不同`/ tmp / magick-ZdZuQPMb' @ error / compare.c / CompareImageCommand / 962。

我的问题是,为什么我在比较之前没有裁剪图像?我的命令行有什么问题。

  

感谢您的帮助,我弄清楚了,我错过了x和y坐标,这就是命令行无法正常工作的原因。 :)它应该是" ...-裁剪1920x1080 + x-y。

1 个答案:

答案 0 :(得分:0)

  

感谢您的帮助,我发现它丢失了x和y坐标,因此这就是命令行无法正常工作的原因。 :)应该是“ ...- crop 1920x1080 + x-y。