Imagemagick 使用imagemagic-im4java比较两幅图像,并显示与原始图像的差异
我试图使用im4java比较两个jpg图像,并显示它们之间的差异。 我已经成功地做到了这一点,但是差分图像对比度的输出降低了。但是我需要显示输出图像与原始对比度的差异。 我需要在不改变对比度的情况下得到diff的结果Imagemagick 使用imagemagic-im4java比较两幅图像,并显示与原始图像的差异,imagemagick,im4java,Imagemagick,Im4java,我试图使用im4java比较两个jpg图像,并显示它们之间的差异。 我已经成功地做到了这一点,但是差分图像对比度的输出降低了。但是我需要显示输出图像与原始对比度的差异。 我需要在不改变对比度的情况下得到diff的结果 public static void compareImageswithdifferenceimage (String expected, String actual, String difference) throws Exception { try {
public static void compareImageswithdifferenceimage (String expected, String actual, String difference) throws Exception {
try {
String Ipath="jars\\ImageMagick-7.0.10-Q16-HDRI";
ProcessStarter.setGlobalSearchPath(Ipath);
CompareCmd compare = new CompareCmd();
//compare.setErrorConsumer(StandardStream.STDERR);
IMOperation compareoperation = new IMOperation();
//compareoperation.addRawArgs("compare");
compareoperation.addImage(expected);
compareoperation.addImage(actual);
compareoperation.fuzz(1.0);
//compareoperation.channel("red");
compareoperation.metric("AE");
compareoperation.transparentColor("Black");
// compareoperation.fill("rgba(255, 215, 0, 0.1");
//compareoperation.opaque("red");
compareoperation.addImage(difference);
try {
System.out.println ("*******Comparison has Started********");
compare.run(compareoperation);
System.out.println ("*******Comparison has Finished*******");
}
catch (Exception e) {
System.out.println ("##### Comparison has Failed #######");
e.printStackTrace();
}
}
catch(Exception exc) {
System.out.println("Exception while executing compareImageswithdifferenceimage function");
exc.printStackTrace();
}
}
注意:我无法在此处发布图像请将您的实际图像发布到某个免费托管服务,并将URL放在此处,以便我们了解问题所在。您可以尝试java等效的
convert image1.jpg image2.jpg-compose difference-composite-auto-level diff.png
thanks@fmw42我无法发布图像。我粘贴了代码,它正在工作,这里比较方法结果原始图像对比度的变化,并显示差异。但我需要diff图像仅显示图像1或图像2上的差异。我看到下面的页面,差异显示为下划线,但对于我的用例,我需要通过克隆一张真实的图片来显示这些行下的图片。如果你的图片是专有的,你能发布一些代表性的图片来显示你的差异吗?图像是真实场景还是图形?