Resultado incorrecto de la resta de la imagen

Quería restar dos imágenes píxel por píxel para comprobar cuánto son similares. Las imágenes tienen el mismo tamaño, una es un poco más oscura y además del brillo no difieren. Pero obtengo esos pequeños puntos en el resultado. ¿Resté esas dos imágenes a la derecha? Ambos son archivos 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"));


    }
}

Imagen 1

Imagen 2

Resultado

Respuestas a la pregunta(3)

Su respuesta a la pregunta