我已经开始通过使用简单算法计算不同像素的数量来区分两个图像:
private int returnCountOfDifferentPixels(String pic1, String pic2)
{
Bitmap i1 = loadBitmap(pic1);
Bitmap i2 = loadBitmap(pic2);
int count=0;
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))
{
count++;
}
return count;
}
然而,这种方法在其初始形式中似乎效率低下,因为即使在非常相似的照片中也总是存在大量不同的像素。我在想一种方法来确定两个像素是否真的那么不同。来自 android 的 bitmap.getpixel(x,y) 返回一个 Color 对象。
如何正确区分两个 Color 对象,以帮助进行运动检测?