image-comparison

2022-08-21 12:44:33 浏览数 (2)

我们可以使用image-comparison来在java中进行两个文件的对比:

项目地址:https://github.com/romankh3/image-comparison

它会自动生成对比后带红框的对比图,还能返回这些正方形的信息

首先引入GAV

代码语言:javascript复制
<dependency>
    <groupId>com.github.romankh3</groupId>
    <artifactId>image-comparison</artifactId>
    <version>4.4.0</version>
</dependency>

使用:

代码语言:javascript复制
//load images to be compared:
     BufferedImage expectedImage = ImageComparisonUtil.readImageFromResources("expected.png");
     BufferedImage actualImage = ImageComparisonUtil.readImageFromResources("actual.png");

     //Create ImageComparison object and compare the images.
     ImageComparisonResult imageComparisonResult = new ImageComparison(expectedImage, actualImage).compareImages();
     
     //Check the result
     assertEquals(ImageComparisonState.MATCH, imageComparisonResult.getImageComparisonState());

这里是对比俩文件是否相同,在这个imageComparisonResult中还包含了其他的信息,这里就不一一列举了,可以在项目介绍中看到

如果我们要生成对比后的图,用下面的方式即可

代码语言:javascript复制
//load images to be compared:
       BufferedImage expectedImage = ImageComparisonUtil.readImageFromResources("expected.png");
       BufferedImage actualImage = ImageComparisonUtil.readImageFromResources("actual.png");
       
       // where to save the result (leave null if you want to see the result in the UI)
       File resultDestination = new File( "result.png" );

       //Create ImageComparison object with result destination and compare the images.
       ImageComparisonResult imageComparisonResult = new ImageComparison(expectedImage, actualImage, resultDestination).compareImages();

resultDestination也可以传路径

0 人点赞