OpenCV特征检测用于识别多个不同的图像

时间:2012-11-24 12:01:41

标签: opencv computer-vision feature-detection

我的问题是 - 我可以使用OpenCV中的特征检测识别源图像中的不同的模板吗?假设我的模板是道路标志。

我正在使用ORB,但这是不是特定于跟踪器的问题。

我没有特征检测的基本方法是:

  • 图像准备(过滤等);
  • 检测我的对象所在的ROI;
  • 将ROI调整为模板大小并与我拥有的每个模板进行比较(即模板匹配);
  • 比较后的最大相关性是我要查找的对象。

但是通过特征检测,我可以检测模板集中每个图像的关键点和描述符,以及可能找到对象的ROI,但匹配器返回我在ROI中所有描述符的距离。

我无法将其与ROI和模板之间的任何关联联系起来,换句话说,我无法根据匹配器提供的信息来决定ROI图像和模板图像是否是相同的对象。

所以,更具体一点 - 我的方法是错误的,并且使用特征检测器来检测源图像中的一个模板对象(这不是我需要的)或者我只是没有抓住特征检测的基本概念,因此需要帮助。

2 个答案:

答案 0 :(得分:4)

您可能错过了两个方面。一种是使用RANSAC +单应性等方法去除特征匹配中的异常值。第二点是将模板的角投影到场景,以创建图像的“矩形”。此外,您应该定义一个阈值,用于确定正确检测的最小内数。

检查此tutorial以查找具有特征检测的对象。

答案 1 :(得分:0)

我会把你推荐给一本名为: 'opencv2计算机视觉应用程序编程菜谱'

只需浏览相关章节。