比较android中的两个图像

use*_*973 9 android image-processing

在我的应用程序中,我想使用相机捕获两个图像,然后我想比较这些图像.

那么,我该如何比较两张图片呢?

编辑:比较第一个图像精确地作为第二个图像像素.

谢谢.

ρяσ*_*я K 7

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;
}
Run Code Online (Sandbox Code Playgroud)

实际上,如果可以的话,您可能希望将图像视为二维数组,并且只是比较字节.我不知道Android图像API,但getPixel可能很慢.

2.也许你将图像转换为byte64字符串,然后比较它们.

3.**适用于Android的OpenCV lib:
必须具有图像压缩功能

**a.
Core.absdiff() Core.compare()

有关详细信息,请参阅比较两个图像

  • 是的,没关系。我只是指出了如果有人真的走这条路的话要使用的API。 (2认同)