3

我正在尝试使用 OpenCV 和 C++ 实现特征/对象跟踪应用程序。目前我正在使用该goodFeaturesToTrack函数从我的第一帧创建我的特征向量。从那里,我将它传递给calcOpticalFlowPyrLk通过后续帧跟踪点的方法。

这种方法非常快,但不稳定,并且不是缩放或旋转不变的。特征倾向于一起漂移以及迷失并锁定到场景中的另一个角落。我已经阅读了很多关于 FREAK 的内容,这似乎是一个很有吸引力的选择。希望它能解决我的稳定性问题以及缩放和旋转不变性。

在尝试寻找实现 FREAK 特征提取器的帮助时,我遇到了这个问题,这让我寄予厚望,但您可能已经注意到,该文件处于脱机状态!我只是好奇是否有人保存了该示例或对我可以在哪里寻找可以学习和学习的替代源代码有任何建议?

4

1 回答 1

2

OpenCV 在此链接上有一个演示 FREAK 的示例。FREAK 与其他任何功能一样都是特征提取器,并提供相同的界面。FREAK 不检测特征,因此您必须使用不同的方法(如cv::goodFeaturesToTrack())来检测兴趣点。

该样本的摘要如下:

cv::Mat image;    //This is the image
std::vector<cv::KeyPoint> keypoints;    // This comes from your feature detector of choice

cv::Mat descriptors;
cv::FREAK freak;
freak.compute(image, keypoints, descriptors);
// Now "descriptors" contains descriptor data for the input keypoints.
于 2013-07-05T18:53:49.010 回答