android中的图像比较

时间:2017-11-30 06:31:39

标签: android face-recognition image-comparison

我在android中有如下要求,

从相机或Android手机的图库中读取图像。 将此图像与存储在数据库中的图像(任何有效格式)进行比较。 显示图像之间匹配的百分比。

告诉我可能的方法来实现它。

1 个答案:

答案 0 :(得分:0)

首先你需要比较图像高度和宽度..如果它是相同的那么你必须比较字节像素。

检查高度和宽度。

if (image1.getHeight() != image2.getHeight()){
 return false;
}
 if (image1.getWidth() != image2.getWidth()){
 return false;
}

然后检查图像像素

for (int i = 0; i < image1.getWidth(); i++)
    {
        for (int j = 0; j < image1.getHeight(); j++)
        {
            if (image1.getPixel(i,j) == image2.getPixel(i,j))
            {
               // Do whatever you want Correct Image.. // both image Are Same
            }
            else
            {
                // both image Are diffrent
            }
        }
    }

完整代码看起来像

if (image1.getHeight() != image2.getHeight()){
    isImageSame = false;
    return;
}
if (image1.getWidth() != image2.getWidth()){
    isImageSame = false;
    return;
}


if(isImageSame){

for (int i = 0; i < image1.getWidth(); i++)
    {
        for (int j = 0; j < image1.getHeight(); j++)
        {
            if (image1.getPixel(i,j) == image2.getPixel(i,j))
            {
               // Do whatever you want Correct Image.. // both image Are Same
            }
            else
            {
                // both image Are diffrent
            }
        }
    }
}

您也可以通过 OpenCV lib 来实现 也可以在这里找到好例子https://github.com/opencv/opencv/tree/master/samples/android/face-detection