比较 java 中的旋转图像

Compare rotated images in java

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

    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 轴上计算)。