OpenCV for ANDROID image compare



我想开发一个应用程序,它将使用OpenCv识别相机前的物体(如纪念碑或其他东西),然后它将显示有关它的信息。

所以问题是如何识别物体(如纪念碑或其他东西)的形状或与图像进行比较OpenCV
最好的方法是什么?

如果有某种用于对象检测和比较的示例或教程,那就太好了。

谢谢。

最好的方法是使用本地特征检测器,例如OpenCV的SIFT,SURF和ORB。

您需要从要检测的对象中至少打印一张图片。之后,这些算法可以将该图像与其他图像进行比较,以查看它们是否足够相似。

以下是算法的文档

  • ORB和其他:

http://docs.opencv.org/modules/features2d/doc/feature_detection_and_description.html

  • SURF 和 SIFT("非自由"):

http://docs.opencv.org/modules/nonfree/doc/feature_detection.html

这些算法用于该任务的方式是为每个图像选择感兴趣的点,并比较它们以查看它们是否匹配。如果找到多个匹配项,则很可能图像具有相同的对象。

教程(来自特征检测及以下):

http://docs.opencv.org/doc/tutorials/features2d/table_of_content_features2d/table_of_content_features2d.html

您还可以在此处找到与此主题相关的C++示例(示例也在 OpenCV 下载包中):

  • 例如。"matching_to_many_images.cpp"
  • "video_homography.cpp"

http://code.opencv.org/projects/opencv/repository/revisions/master/show/samples/cpp

这里的Android Java示例(不相关,但也很有帮助):

http://code.opencv.org/projects/opencv/repository/revisions/master/show/samples/android

或者 Python 示例,它们实际上是本主题的更新示例(在撰写本文时):

http://code.opencv.org/projects/opencv/repository/revisions/master/show/samples/python2

最后一点,就像@BDFun评论中所说的那样,这不是一件小事。

更多 - 如果您想了解OpenCV功能检测和描述的概述,请查看这篇文章。

相关内容

  • 没有找到相关文章

最新更新