Неверный результат вычитания изображения

Я хотел вычесть два изображения попиксельно, чтобы проверить, насколько они похожи. Изображения имеют одинаковый размер, немного темнее и, кроме яркости, они не отличаются. Но я получаю эти маленькие точки в результате. Я вычитал эти два изображения справа? Оба являются 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

Результат

Ответы на вопрос(3)

Ваш ответ на вопрос