Неверный результат вычитания изображения
Я хотел вычесть два изображения попиксельно, чтобы проверить, насколько они похожи. Изображения имеют одинаковый размер, немного темнее и, кроме яркости, они не отличаются. Но я получаю эти маленькие точки в результате. Я вычитал эти два изображения справа? Оба являются BMP-файлами.
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class Main2 {
public static void main(String[] args) throws Exception {
int[][][] ch = new int[4][4][4];
BufferedImage image1 = ImageIO.read(new File("1.bmp"));
BufferedImage image2 = ImageIO.read(new File("2.bmp"));
BufferedImage image3 = new BufferedImage(image1.getWidth(), image1.getHeight(), image1.getType());
int color;
for(int x = 0; x < image1.getWidth(); x++)
for(int y = 0; y < image1.getHeight(); y++) {
color = Math.abs(image2.getRGB(x, y) - image1.getRGB(x, y));
image3.setRGB(x, y, color);
}
ImageIO.write(image3, "bmp", new File("image.bmp"));
}
}
Изображение 1
Изображение 2
Результат