比较Android中的两个图像
image-processing
5
0

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

那么,如何比较两个图像?

编辑:比较第一个图像是精确到第二个图像像素到像素。

谢谢。

参考资料:
Stack Overflow
收藏
评论
共 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;
}

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

2.也许您将图像转换为byte64字符串,然后进行比较。

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

**一个。
Core.absdiff() b。 Core.compare()

有关更多详细信息,请参见比较两个图像

收藏
评论
收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号