java - 在java中比较旋转图像

标签 java junit comparison bufferedimage

我有一张图片和一张旋转图片要比较。

    if (this.img.getHeight() == img1.getWidth() && this.img.getWidth() == img1.getHeight()) {
        for (int i = 0; i < this.img.getWidth(); i++) {
            for (int j = 0; j < this.img.getHeight(); j++) {
                assertEquals(this.img.getRGB(i, j), img1.getRGB(this.img.getWidth() - j, i));
            }
        }
    }

这是我使用的循环,但不知何故它不起作用。

图片顺时针旋转90°。

this.img 是原始图片,img1 是旋转后的图片。有人可以帮帮我吗?提前致谢!

最佳答案

您可能需要...

img1.getRGB(this.img1.getWidth() - j, i));

而不是

img1.getRGB(this.img.getWidth() - j, i));

...因为您想要从旋转图像的宽度向左移动,而不是原始图像的宽度(因为这将成为高度,因此不会出现在任何 x 轴计算中) .

关于java - 在java中比较旋转图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43848829/

相关文章:

java - 无法正确实现 sleep()

java.lang.NoClassDefFoundError : org/hamcrest/SelfDescribing in Intellij

c - 仅使用按位运算在 C 中实现更大的等号

floating-point - 对于 IEEE754 NaN 值,所有比较返回 false 的基本原理是什么?

java - 为什么 File.deleteOnExit 不适用于目录?

java - OpenGL ES 纹理无法正确渲染

java - 如何使用Java查找文件格式(假设.txt文件,.java文件,.class文件,.zip文件在我的目录中)?

java - 如何断言该条件最终得到满足?

java - 每次我尝试修复代码时都会发生 StackOverflowError

javascript - 在 JavaScript : Shouldn't returning a boolean be enough for a comparison function? 中排序