Java jMagick-图像比较

Java jMagick-图像比较,java,selenium-webdriver,imagemagick,image-comparison,jmagick,Java,Selenium Webdriver,Imagemagick,Image Comparison,Jmagick,我正试图开发一个程序,将采取的网页快照,然后将它与一个旧的比较,并突出显示的变化,如果有的话 我用它来拍快照。对于图像处理和比较,在谷歌搜索了一下之后,我发现了一个Java接口,我认为它最适合我的需求 但由于缺乏适当的文件,我无法找到任何相关的。如果有人能帮助我进行图像比较的代码示例,那将非常有帮助 同样,问题是比较两幅图像并突出显示两者之间的变化或差异。输出可以是突出显示差异的第三个图像 可能的重复项有:和。但是,同样,无法从中推断出合适的解决方案 请告诉我是否有人可以解释这一点,或者是否有其

我正试图开发一个程序,将采取的网页快照,然后将它与一个旧的比较,并突出显示的变化,如果有的话

我用它来拍快照。对于图像处理和比较,在谷歌搜索了一下之后,我发现了一个Java接口,我认为它最适合我的需求

但由于缺乏适当的文件,我无法找到任何相关的。如果有人能帮助我进行图像比较的代码示例,那将非常有帮助

同样,问题是比较两幅图像并突出显示两者之间的变化或差异。输出可以是突出显示差异的第三个图像

可能的重复项有:和。但是,同样,无法从中推断出合适的解决方案


请告诉我是否有人可以解释这一点,或者是否有其他java解决方案可以解决这一问题。

如果您对系统调用很在行,可以使用pdiff。
该工具用于比较渲染引擎,并将两个文件之间的差异输出到新文件。不过它似乎没有Java绑定。

在这个链接中,您可以找到使用jMagick的图像比较类的示例。他们使用compare命令行函数来处理图像比较

代码段:

String[] cmd = new String[] {"compare","-metric","MSE",file1,file2,"tempcompareImage.jpg"};

此外,您可以在此处找到比较函数的详细信息:


试试这个。别忘了导入im4java或maven

我正在使用相同的代码,但我的代码无法识别“CompareCmd compare=new CompareCmd();”有什么建议吗?使用im4java jar或maven依赖项。然后重试。
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;
  }
}