我想让应用程序能够使用Kinect摄像头检测和跟踪对象。
我使用SURF算法来查找对象,完全如EmguCV的“CSharp中的SURF特征检测器”和EmguCV的示例“SURFFeature”中所述。我正在从相机捕捉图像以检测并在小图片框中显示,而相机图像在大图片框中。但当我拍摄对象时,SURF算法开始做一些完全随机的匹配。跟踪对象周围应该有一个红色矩形,但没有发生这种情况,匹配的矢量线指向完全不同的对象。
我正在使用Visual Studio 2010和Kinect for Windows SDK 1.8和EmguCV 2.4.10。
以下是显示情况的图片:
试图抓住绳子上的玩具灯泡。
试图捕捉一本书。
任何人都可以帮助我知道为什么SURF没有正确检测到这些物体吗?我做错了什么?
答案 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/