сравнение двух изображений в android
в моем приложении я хочу захватить два изображения с помощью камеры, а затем я хочу сравнить эти изображения.
Итак, как я могу сравнить два изображения?
изменить: Сравните первое изображение точно как второй пиксель изображения к пикселю.
Спасибо.
2 ответов
1. проверьте, что высота соответствует, если не возвращает false. Затем проверьте, соответствует ли ширина, и если нет, верните false. Затем проверить каждый пиксель, пока не найдете тот, который не соответствует. Когда вы это сделаете, вернуть false. Если каждый пиксель соответствует, верните true.
псевдокод:
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;
}
на самом деле, вы, вероятно, хотите рассматривать изображение как двумерный массив, если можете, и просто сравнить байты. Я не знаю API изображений Android, но getPixel может быть медленным.
2. возможно, вы конвертируете изображения в строки byte64, а затем сравниваете их.
3.**OpenCV lib для Android:
есть функции для сжатия изображений
** a. Core.absdiff()
b. Core.compare()
Подробнее см. сравнение двух изображений
используйте растровое изображение sameAs.
http://developer.android.com/reference/android/graphics/Bitmap.html#sameAs(android.graphics.Bitmap)