1. Compruebe que la altura coincida, si no devuelve falso. Luego, verifique si el ancho coincide, y si no, devuelva falso. Luego revise cada píxel hasta que encuentre uno que no coincida. Cuando lo hagas, devuelve falso. Si cada píxel coincide, devuelve verdadero.
Pseudocódigo:
bool imagesAreEqual(Image i1, Image i2)
{
if (i1.getHeight() != i2.getHeight()) return false;
if (i1.getWidth() != i2.getWidth()) return false;
for (int y = 0; y < i1.getHeight(); ++y)
for (int x = 0; x < i1.getWidth(); ++x)
if (i1.getPixel(x, y) != i2.getPixel(x, y)) return false;
return true;
}
en la realidad, es probable que quieren tratar la imagen como una matriz bidimensional si es posible, y simplemente comparar los bytes. No sé la API de imagen de Android, pero getPixel podría ser lento.
2. quizás convierta las imágenes en Byte64 Strings y luego las compare.
3. * * OpenCV lib para Android:
tiene a las funciones para las imágenes de compresión
** a.Core.absdiff()
b.Core.compare()
para más detalles ver comparing two images
Definir comparar. –
¿Qué es 'comparar'? Puede buscar similitudes morfológicas, color, frecuencia, etc. etc. – jose
A menos que tenga un trípode mágico, esas dos capturas de cámara _no_ van a coincidir en una base de píxel a píxel. –