我在android中有如下要求,
从相机或Android手机的图库中读取图像。 将此图像与存储在数据库中的图像(任何有效格式)进行比较。 显示图像之间匹配的百分比。
告诉我可能的方法来实现它。
答案 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