我正在尝试开发一个程序,将采取的网页快照,然后将其与旧的比较,并突出了变化,如果有。
我正在使用Selenium- WebDriver来拍摄快照。对于图像处理和比较,在谷歌了一下之后,我找到了jMagick,这是一个用于ImageMagick的Java接口,我认为它最适合我的需求。
但由于缺乏适当的文档,我无法找到任何相关的东西。如果有人能帮我解决图像比较的代码样本,那将是非常有帮助的。
同样,问题是比较两个图像并突出显示两者之间的变化或差异。输出可能是第三个突出显示差异的图像。
可能的重复项有:this和this。但是,再说一次,无法从这些中推断出适当的解决方案。
如果有人能对此有所了解,或者可能有其他java解决方案可以解决这个问题,请告诉我。
发布于 2016-09-02 19:27:44
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;
}
}尝试this.And别忘了导入im4java或maven
发布于 2014-05-23 20:20:47
如果你可以做系统调用,你可以使用pdiff。http://pdiff.sourceforge.net/这个工具是用来比较渲染引擎的,它会将两个文件之间的差异输出到一个新文件中。不过,它似乎没有Java绑定。
发布于 2016-04-20 14:56:11
在此链接中,您可以找到使用jMagick的图像比较类的示例。他们使用比较命令行函数来处理图像比较。
代码片段:
String[] cmd = new String[] {"compare","-metric","MSE",file1,file2,"tempcompareImage.jpg"};https://github.com/techblue/jmagick/blob/master/test/magicktest/MagickTesttools.java
此外,您还可以在此处找到比较函数的详细信息:http://www.imagemagick.org/Usage/compare/
https://stackoverflow.com/questions/18760602
复制相似问题