EmguCV SURF检测无法正确检测

时间:2014-12-29 15:15:20

标签: c# kinect emgucv surf

我想让应用程序能够使用Kinect摄像头检测和跟踪对象。

我使用SURF算法来查找对象,完全如EmguCV的“CSharp中的SURF特征检测器”和EmguCV的示例“SURFFeature”中所述。我正在从相机捕捉图像以检测并在小图片框中显示,而相机图像在大图片框中。但当我拍摄对象时,SURF算法开始做一些完全随机的匹配。跟踪对象周围应该有一个红色矩形,但没有发生这种情况,匹配的矢量线指向完全不同的对象。

我正在使用Visual Studio 2010和Kinect for Windows SDK 1.8和EmguCV 2.4.10。

以下是显示情况的图片:

试图抓住绳子上的玩具灯泡。 enter image description here

试图捕捉一本书。 enter image description here

任何人都可以帮助我知道为什么SURF没有正确检测到这些物体吗?我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试使用SIFTDetector而不是SURFDetector。它给了我更好的结果。

//SURFDetector surfDetector = new SURFDetector(500, false); SIFTDetector surfDetector = new SIFTDetector();

此链接提供了特征检测算法之间的比较。

http://computer-vision-talks.com/articles/2011-08-19-feature-descriptor-comparison-report/

http://computer-vision-talks.com/articles/2011-01-04-comparison-of-the-opencv-feature-detection-algorithms/