image-comparison

简介: image-comparison

人活在世,不过一场美丽的寄居。——简嫃曾

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

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

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

首先引入GAV

<dependency>
    <groupId>com.github.romankh3</groupId>
    <artifactId>image-comparison</artifactId>
    <version>4.4.0</version>
</dependency>

使用:

//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中还包含了其他的信息,这里就不一一列举了,可以在项目介绍中看到

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

//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也可以传路径

相关文章
HALCON error #1302: Wrong value of control parameter: 2 in operator affine_trans_region
HALCON error #1302: Wrong value of control parameter: 2 in operator affine_trans_region
|
3月前
|
Python
UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images
本文提供了解决PIL库中"Palette images with Transparency"警告的方法,通过将图片转换为'RGB'模式来消除透明通道的问题。
UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images
|
4月前
|
Python
已解决:_tkinter.TcLError: couldn’t recognize data in image file “Image/nakamuraan.gif”
已解决:_tkinter.TcLError: couldn’t recognize data in image file “Image/nakamuraan.gif”
141 1
|
6月前
|
算法 光互联 计算机视觉
Locally Adaptive Color Correction for Underwater Image Dehazing and Matching
该文提出了一种新颖的水下图像处理方法,结合颜色转移和局部调整来校正颜色,以应对水下光照和散射造成的图像退化。传统颜色转移方法基于全局参数,不适应水下场景中颜色变化的局部性质。文章中,作者通过融合策略,利用光衰减水平估计来实现局部颜色校正。首先,通过暗通道先验恢复彩色补偿图像,然后估计光衰减图。接着,创建一个合成图像,该图像的统计特性代表高衰减区域,用于颜色转移。最后,通过加权融合初始图像和颜色转移图像,生成最终的颜色校正图像。这种方法旨在提高水下图像的对比度和颜色准确性,特别关注高衰减区域。
65 1
|
11月前
|
JavaScript
image-conversion
image-conversion
208 0
|
人工智能 编解码 自然语言处理
论文解读:Inpaint Anything: Segment Anything Meets Image Inpainting
论文解读:Inpaint Anything: Segment Anything Meets Image Inpainting
420 0
[Accessibility] Missing contentDescription attribute on image
[Accessibility] Missing contentDescription attribute on image
178 0
[Accessibility] Missing contentDescription attribute on image
|
算法
On the Correct and Complete Enumeration of the Core Search Space
在之前的文章中我们讨论了基于graph的DP-based算法,来解决join ordering的枚举问题。 这些DP算法通过join predicate描述的连通性,解决了枚举可能的表组合问题,但join graph本身(即使hypergraph)是无法完整的描述join语义的,因为连通边本身无法描述不同类型的join语义,例如left outer join/semi join/anti join...,因此即使找到了所谓的csg-cmp-pair,也不一定是有效的plan。 这篇paper讨论的就是这个问题,当枚举出一个csg-cmp-pair (S1 o S2),如何判断这是有效的join
442 0
On the Correct and Complete Enumeration of the Core Search Space