我正在开发应用程序,假设我捕获了工具的图片,如锤子或任何东西,然后我再次捕获它然后在这里我需要比较工具是否相同所以它类似于两个图片是否相似
我有一个想法是检查两个捕获图像的RGB像素值并取平均值然后比较它们。如果两者都可能接近那么意味着两者都相同,但这需要很长时间。
在Android中执行此操作还有其他更好的解决方案吗?
答案 0 :(得分:3)
在图片中查找锤子(或任何其他物体)不与图像之间的直线像素比较相同。
你需要更精细的技术来实现这一目标,为艰苦的工作做好准备。
查看feature detection或cascade-classifiers进行对象检测。
答案 1 :(得分:0)
您可以在图像上指定多个区域,并检查两个捕获图像的RGB像素值。
喜欢:
这比比较所有像素要好。 见:http://www.lac.inpe.br/JIPCookbook/6050-howto-compareimages.jsp
答案 2 :(得分:0)
图像比较是一项相当复杂的任务。首先,我会查看OpenCV library,它已移植到Android(和其他平台)。
答案 3 :(得分:0)
在我的一个项目中,我正在收集相机的脸部图像。但我需要以某种方式弄清楚找到的面孔是否相似。我一开始没有识别模型,所以这意味着我无法告诉opencv识别它们。没有数据没有分类。
由于我正在收集培训面孔,因此确定一些预处理标签会非常有用。所以我使用相对L1和有时L2距离来计算找到的面部的相似性。检查相对差异是here
因此,如果你不是在谈论物体识别,比如在场景中找到真正需要付出巨大努力的所有锤子,你可以使用这种规范方法。通过使用它,您可以检查您的新图像是否接近锤子,球等大小将是一个问题,这可以通过使用金字塔方法克服。
请注意,这甚至比中级对象识别方法更差。但它可以用于简单的问题,比如我从相机预先分类的脸部图像。