在我的应用程序中,我想使用相机捕获两个图像,然后我想比较这些图像。
那么,如何比较两个图像呢?
编辑:
比较第一幅图像与第二幅图像的像素到像素完全相同。
谢谢。
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 库:
必须具有图像压缩功能
**a. Core.absdiff()
b. Core.compare()
欲了解更多详情,请参阅比较两个图像 http://groups.google.com/group/android-opencv/browse_thread/thread/101cf2c181c33f13?pli=1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)