Necesito calcular la diferencia de píxeles entre dos imágenes en Java en Android. El problema es que tengo un código que arroja resultados inexactos.porcentaje de Android Android porcentaje de mapa de bits diferencia de píxeles entre dos imágenes
E.g. Tengo 3 imágenes muy similares, pero devuelve resultados significativamente diferentes para la comparación de cada uno de ellos: pic1 vs pic2 = 1.71%; pic1 vs pic3 = 0.0045%; pic2 vs pic3 = 36.7%.
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.ARGB_8888;
opt.inSampleSize = 5;
Bitmap mBitmap1 = BitmapFactory.decodeFile("/sdcard/pic1.jpg", opt);
Bitmap mBitmap2 = BitmapFactory.decodeFile("/sdcard/pic2.jpg", opt);
int intColor1 = 0;
int intColor2 = 0;
for (int x = 0; x < mBitmap1.getWidth(); x++) {
for (int y = 0; y < mBitmap1.getHeight(); y++) {
intColor1 = mBitmap1.getPixel(x, y);
intColor2 = mBitmap2.getPixel(x, y);
//System.out.print(" ("+ x + ","+ y +") c:" + intColor1);
}
String resultString = String.valueOf(intColor1);
}
//now calculate percentage difference
double razlika = (((double)intColor1 - intColor2)/intColor2)*100;
}
creo que tengo que comparar cada píxel de las dos imágenes (intColor1 (x, y) vs intColor2 (x, y)), pero ¿cómo puedo hacer eso, y para calcular posteriormente diferencia porcentual?
tengo que buscar y listar todas las imágenes similares ¿me ayudo? –