opencv在框中选择对象的最佳方法是什么?

时间:2017-02-16 00:29:08

标签: python-2.7 opencv feature-detection

我正在研究用opencv在python中创建的学校项目,我有两个部分的问题。

我有6张对象see image- bugs here move right to left(one of each side)之一的照片。照片的质量很糟糕,但我的下一次测试将使用更好的照片。我的目标是在框中找到最易到达的对象(以便捕获它)。我知道不同的特征和轮廓检测算法,我用上面的照片尝试了一些,但我不知道哪种方法最有可能找到最易到达的对象。

现在是第二部分。当我找到一个物体时,我想在图片中找到它的位置,我不知道如何利用特征或轮廓检测的结果来获得物体像素的位置。

这是我关于堆栈溢出的第一篇文章,以及我在opencv上的第一个项目,如果问题不清楚我很抱歉,我自己还在做一些测试,但我依靠那些已经做过这样的事情的程序员

1 个答案:

答案 0 :(得分:0)

正如Rick M在评论中所建议的那样,我尝试了使用ORB关键点检测的解决方案。

我为您使用THIS DOCUMENT提供的图片执行了 ORB关键点检测

这是我获得的:

enter image description here

enter image description here

还有其他获取关键点的方法。访问THIS PAGE了解更多信息(SIFT,SURF,Brief等)

然后我使用THIS DOCUMENT执行功能匹配

enter image description here

正如您所看到的,我只为5个关键点执行了匹配。其中3个关键点似乎正确匹配。我没有匹配所有关键点,否则就不清楚了。如果您的图像质量更好,大多数匹配都是正确的。

对于这种情况,我使用了强力匹配。提到的文档也提供了有关 FLANN匹配技术的详细信息。