From 794563b767de7d5e4c910a6b5c8a43c14631919e Mon Sep 17 00:00:00 2001 From: C0deAlchem1st <85945940+C0deAlchem1st@users.noreply.github.com> Date: Sun, 24 Apr 2022 12:15:20 +0800 Subject: [PATCH 1/3] Add test cases for methods --- .../romankh3/image/comparison/BMPTest.java | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 src/test/java/com/github/romankh3/image/comparison/BMPTest.java diff --git a/src/test/java/com/github/romankh3/image/comparison/BMPTest.java b/src/test/java/com/github/romankh3/image/comparison/BMPTest.java new file mode 100644 index 0000000..256e412 --- /dev/null +++ b/src/test/java/com/github/romankh3/image/comparison/BMPTest.java @@ -0,0 +1,90 @@ +package com.github.romankh3.image.comparison; + +import com.github.romankh3.image.comparison.model.ImageComparisonResult; +import org.junit.jupiter.api.Test; + +import java.awt.image.BufferedImage; + +import static com.github.romankh3.image.comparison.ImageComparisonUtil.readImageFromResources; +import static com.github.romankh3.image.comparison.model.ImageComparisonState.MISMATCH; +import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.fail; + +public class BMPTest { + @Test + public void Test1a(){ + BufferedImage result = readImageFromResources("result#21.png"); + BufferedImage expected = readImageFromResources("expected#21.png"); + BufferedImage actual = readImageFromResources("actual#21.png"); + + ImageComparison imageComparison = new ImageComparison(expected,actual); + ImageComparisonResult imageComparisonResult = imageComparison.compareImages(); + + assertNotNull(imageComparison.getActual()); + assertNotNull(imageComparison.getExpected()); + assertEquals(MISMATCH, imageComparisonResult.getImageComparisonState()); + assertImagesEqual(result, imageComparisonResult.getResult()); + } + + @Test + public void Test1b(){ + BufferedImage result = readImageFromResources("result#21.png"); + BufferedImage expected = readImageFromResources("expected#21.png"); + BufferedImage actual = readImageFromResources("actual#21.png"); + + ImageComparison imageComparison = new ImageComparison(expected,actual); + ImageComparisonResult imageComparisonResult = imageComparison.compareImages_BMP(); + + assertNotNull(imageComparison.getActual()); + assertNotNull(imageComparison.getExpected()); + assertEquals(MISMATCH, imageComparisonResult.getImageComparisonState()); + assertImagesEqual(result, imageComparisonResult.getResult()); + } + + @Test + public void Test2a(){ + BufferedImage result = readImageFromResources("test_result_98.png"); + BufferedImage expected = readImageFromResources("expected#98.png"); + BufferedImage actual = readImageFromResources("actual#98.png"); + + ImageComparison imageComparison = new ImageComparison(expected,actual); + ImageComparisonResult imageComparisonResult = imageComparison.compareImages(); + + assertNotNull(imageComparison.getActual()); + assertNotNull(imageComparison.getExpected()); + assertEquals(MISMATCH, imageComparisonResult.getImageComparisonState()); + assertImagesEqual(result, imageComparisonResult.getResult()); + } + + @Test + public void Test2b(){ + BufferedImage result = readImageFromResources("test_result_98.png"); + BufferedImage expected = readImageFromResources("expected#98.png"); + BufferedImage actual = readImageFromResources("actual#98.png"); + + ImageComparison imageComparison = new ImageComparison(expected,actual); + ImageComparisonResult imageComparisonResult = imageComparison.compareImages_BMP(); + + assertNotNull(imageComparison.getActual()); + assertNotNull(imageComparison.getExpected()); + assertEquals(MISMATCH, imageComparisonResult.getImageComparisonState()); + assertImagesEqual(result, imageComparisonResult.getResult()); + } + + private void assertImagesEqual(BufferedImage expected, BufferedImage actual) { + if (expected.getWidth() != actual.getWidth() || expected.getHeight() != actual.getHeight()) { + fail("Images have different dimensions"); + } + + int width = expected.getWidth(); + int height = expected.getHeight(); + + for (int y = 0; y < height; y++) { + for (int x = 0; x < width; x++) { + if (expected.getRGB(x, y) != actual.getRGB(x, y)) { + fail("Images are different, found a different pixel at: x = " + x + ", y = " + y); + } + } + } + } +} From f6dd876566aee8f9eff3fbeabac3ba4b86b2efa5 Mon Sep 17 00:00:00 2001 From: C0deAlchem1st <85945940+C0deAlchem1st@users.noreply.github.com> Date: Sun, 24 Apr 2022 12:16:58 +0800 Subject: [PATCH 2/3] Add result image for test --- src/test/resources/test_result_98.png | Bin 0 -> 195788 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/test/resources/test_result_98.png diff --git a/src/test/resources/test_result_98.png b/src/test/resources/test_result_98.png new file mode 100644 index 0000000000000000000000000000000000000000..52565877f7fc21c1c7ff5228ce673b4271a6918d GIT binary patch literal 195788 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
    BgtbHz| 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
  1. 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 X4BPlL>OIiB7>^!k+%Hiy3;MqRI1sXK literal 0 HcmV?d00001 From 7b74b0848667a05a5ef03f342539853dfc65d313 Mon Sep 17 00:00:00 2001 From: C0deAlchem1st <85945940+C0deAlchem1st@users.noreply.github.com> Date: Sun, 24 Apr 2022 12:18:55 +0800 Subject: [PATCH 3/3] Modify the ImageComparison class add alternative BMP comparison method --- .../image/comparison/ImageComparison.java | 207 ++++++++++++++++++ 1 file changed, 207 insertions(+) diff --git a/src/main/java/com/github/romankh3/image/comparison/ImageComparison.java b/src/main/java/com/github/romankh3/image/comparison/ImageComparison.java index 728c6ef..e816b63 100644 --- a/src/main/java/com/github/romankh3/image/comparison/ImageComparison.java +++ b/src/main/java/com/github/romankh3/image/comparison/ImageComparison.java @@ -5,9 +5,14 @@ import com.github.romankh3.image.comparison.model.ImageComparisonState; import com.github.romankh3.image.comparison.model.Rectangle; +import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; +import java.awt.image.MemoryImageSource; +import java.awt.image.PixelGrabber; +import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.IOException; import java.util.List; import java.util.*; import java.util.stream.Collectors; @@ -185,6 +190,39 @@ public ImageComparison(BufferedImage expected, BufferedImage actual) { } /** + * [work for issue #153] + * Draw rectangles which cover the regions of the difference pixels. + * + * @return the result of the drawing. + */ + public ImageComparisonResult compareImages_BMP() { + + // check that the images have the same size + if (isImageSizesNotEqual(expected, actual)) { + BufferedImage actualResized = ImageComparisonUtil.resize(actual, expected.getWidth(), expected.getHeight()); + return ImageComparisonResult.defaultSizeMisMatchResult(expected, actual, getDifferencePercent(actualResized, expected)); + } + + List rectangles = populateRectangles_BMP(); + + if (rectangles.isEmpty()) { + ImageComparisonResult matchResult = ImageComparisonResult.defaultMatchResult(expected, actual); + if (drawExcludedRectangles) { + matchResult.setResult(drawRectangles(rectangles)); + saveImageForDestination(matchResult.getResult()); + } + return matchResult; + } + + BufferedImage resultImage = drawRectangles(rectangles); + saveImageForDestination(resultImage); + return ImageComparisonResult.defaultMisMatchResult(expected, actual, getDifferencePercent(actual, expected)) + .setResult(resultImage) + .setRectangles(rectangles); + } + + /** + * [work for issue #153] * Draw rectangles which cover the regions of the difference pixels. * * @return the result of the drawing. @@ -226,6 +264,175 @@ private boolean isImageSizesNotEqual(BufferedImage expected, BufferedImage actua return expected.getHeight() != actual.getHeight() || expected.getWidth() != actual.getWidth(); } + /** + * [work for issue #153] + * Turn an image(maybe jpg or png) to BMP format. + * + * @param sourceImg {@link BufferedImage} object of the source image. + * @return a BufferedImage object, the source image in BMP format. + */ + private static BufferedImage imageToBMP(BufferedImage sourceImg){ + int h = sourceImg.getHeight(); + int w = sourceImg.getWidth(); + int[] pixel = new int[w * h]; + PixelGrabber pixelGrabber = new PixelGrabber(sourceImg, 0, 0, w, h, pixel, 0, w); + try { + pixelGrabber.grabPixels(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + MemoryImageSource m = new MemoryImageSource(w, h, pixel, 0, w); + Image image = Toolkit.getDefaultToolkit().createImage(m); + BufferedImage buff = new BufferedImage(w, h, BufferedImage.TYPE_3BYTE_BGR); + buff.createGraphics().drawImage(image, 0, 0 ,null); + return buff; + } + + /** + * [work for issue #153] + * Turn BufferedImage(BMP) to byte[]. + * + * @param image {@link BufferedImage} object of the source image. + * @return byte[] that stores the information of RGB value of pixels.(and BMP head information) + */ + private static byte[] bufferedImageToBytes(BufferedImage image) { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + try { + ImageIO.write(image, "bmp", outputStream); + } catch (IOException e) { + e.printStackTrace(); + } + return outputStream.toByteArray(); + } + + /** + * [work for issue #153] + * a class to store 3 bytes RGB values in a pixel + */ + private class RGB_tuple{ + public int red; + public int green; + public int blue; + public RGB_tuple(byte r, byte g, byte b){ + this.red = r; + this.green = g; + this.blue = b; + } + } + + /** + * [work for issue #153] + * Turn BMP byte[] to pixel RGB matrix + * + * @param w width of the matrix + * @param h height of the matrix + * @param bytes byte array which stores the RGB values, 3 bytes in a group + * @return a pixel RGB value tuple matrix + */ + private RGB_tuple[][] byte2RGBMatrix(int h, int w, byte[] bytes){ + RGB_tuple[][] matrix = new RGB_tuple[h][w]; + int cursor = 54; + for ( int y = h-1; y >= 0; y-- ){ + for ( int x = 0; x < w; x++){ + matrix[y][x] = new RGB_tuple(bytes[cursor+2], bytes[cursor+1], bytes[cursor]); + cursor += 3; + } + } + return matrix; + } + + /** + * [work for issue #153] + * Populate binary matrix with "0" and "1". If the pixels are different set it as "1", otherwise "0". + * In this case, images are turned into BMP format, and the comparison is based on bytes. + * + * @return the count of different pixels + */ + private long populateTheMatrixOfTheDifferences_BMP() { + // Turn images to BMP format + BufferedImage expectedBMP = imageToBMP(expected); + BufferedImage actualBMP = imageToBMP(actual); + // Turn BMP images to byte[], 2 bytes for 1 pixel + // TYPE_3BYTE_BGR: 1 byte for red, green and blue respectively. + byte[] expectedBytes = bufferedImageToBytes(expectedBMP); + byte[] actualBytes = bufferedImageToBytes(actualBMP); + // Form the RGB byte values as a matrix + int h = expected.getHeight(), w = expected.getWidth(); + RGB_tuple[][] expected_matrix = byte2RGBMatrix(h,w,expectedBytes); + RGB_tuple[][] actual_matrix = byte2RGBMatrix(h,w,actualBytes); + + // count different bytes + long countOfDifferentPixels = 0; + matrix = new int[h][w]; + for (int y = 0; y < h; y++) { + for (int x = 0; x < w; x++) { + if (!excludedAreas.contains(new Point(x, y))) { + if (isDifferentPixels_BMP(expected_matrix[y][x], actual_matrix[y][x])) { + matrix[y][x] = 1; + countOfDifferentPixels++; + } + } + } + } + return countOfDifferentPixels; + } + + /** + * [work for issue #153] + * Say if the two pixels equal or not. The rule is the difference between two pixels + * need to be more than {@link #pixelToleranceLevel}. + * + * @param expectedRgb the RGB value(tuple) of the Pixel of the Expected image. + * @param actualRgb the RGB value(tuple) of the Pixel of the Actual image. + * @return {@code true} if they' are difference, {@code false} otherwise. + */ + private boolean isDifferentPixels_BMP(RGB_tuple expectedRgb, RGB_tuple actualRgb) { + if (expectedRgb == actualRgb) { + return false; + } else if (pixelToleranceLevel == 0.0) { + return true; + } + + int red1 = expectedRgb.red; + int green1 = expectedRgb.green; + int blue1 = expectedRgb.blue; + int red2 = actualRgb.red; + int green2 = actualRgb.green; + int blue2 = actualRgb.blue; + + return (Math.pow(red2 - red1, 2) + Math.pow(green2 - green1, 2) + Math.pow(blue2 - blue1, 2)) + > differenceConstant; + } + + /** + * [work for issue #153] + * Populate rectangles of the differences + * + * @return the collection of the populated {@link Rectangle} objects. + */ + private List populateRectangles_BMP() { + long countOfDifferentPixels = populateTheMatrixOfTheDifferences_BMP(); + + if (countOfDifferentPixels == 0) { + return emptyList(); + } + + if (isAllowedPercentOfDifferentPixels(countOfDifferentPixels)) { + return emptyList(); + } + groupRegions(); + List rectangles = new ArrayList<>(); + while (counter <= regionCount) { + Rectangle rectangle = createRectangle(); + if (!rectangle.equals(Rectangle.createDefault()) && rectangle.size() >= minimalRectangleSize) { + rectangles.add(rectangle); + } + counter++; + } + + return mergeRectangles(mergeRectangles(rectangles)); + } + /** * Populate binary matrix with "0" and "1". If the pixels are different set it as "1", otherwise "0". *