jMagick - 图像比较

3
我正在开发一个程序,它可以对网页进行快照,然后与旧版本进行比较并突出显示更改部分。我使用Selenium- WebDriver来进行快照。在经过一些搜索后,我找到了ImageMagick的Java接口jMagick,我认为这是最适合我的需求的。但由于缺乏适当的文档,我无法找到任何相关信息。如果有人能帮我提供任何关于图像比较的代码示例,那将非常有帮助。问题再次出现在于比较两个图像并突出显示它们之间的差异。输出可以是第三个图像,并突出显示差异。可能存在重复的问题:thisthis。但同样,这些也没有给出适当的解决方案。
请问是否有人能够解释一下这个问题,或者提供其他在Java中可行的解决方案。
3个回答

1
boolean compareSuccess = compareImages("src/main/1.jpg","src/test/resources/bag_frame2.gif", "src/test/resources/ex.gif");
 //(input1,input2,outputfile)
//(boolean=true if same image...false if changes in image)
compareImages (String data,String data1, String diff) {

  CompareCmd compare = new CompareCmd();

  // For metric-output
  compare.setErrorConsumer(StandardStream.STDERR);
  IMOperation cmpOp = new IMOperation();
  // Set the compare metric
  cmpOp.metric("mae");

  // Add the expected image
  cmpOp.addImage(data);

  // Add the current image
  cmpOp.addImage(data1);

  // This stores the difference
  cmpOp.addImage(diff);

  try {
    // Do the compare
    compare.run(cmpOp);
    return true;
  }
  catch (Exception ex) {
    return false;
  }
}

尝试这个。不要忘记导入im4java或maven。

我正在使用相同的代码,但我的代码无法识别“CompareCmd compare = new CompareCmd();”。有什么建议吗? - RV_Dev
使用im4java jar包或Maven依赖项。然后再试一次。 - Mari Selvan

0

0
如果您可以接受使用系统调用,那么您可以使用 pdiff 工具。 http://pdiff.sourceforge.net/ 该工具已经被编写用于比较渲染引擎,并将两个文件之间的差异输出到一个新文件中。不过它似乎没有 Java 绑定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接