我正在玩OpenCV Mixed Processing
教程,在使用FAST探测器检测摄像机帧中的功能时,我体验到了良好的帧率(~27)。
我将探测器更改为ORB,帧速率降至10左右。这是因为ORB没有FAST那么快或者我错过了什么?
Mat& mGr = *(Mat*)addrGray;
vector<KeyPoint> v;
OrbFeatureDetector detector(50);
// FastFeatureDetector detector(50);
detector.detect(mGr, v);
答案 0 :(得分:4)
这是相当典型的行为。 FAST之所以如此命名,是因为它很快。事实上,它是我所知道的第二快的特征探测器。 FAST能够实现高检测速度,因为它牺牲了比例和旋转不变性。 ORB试图实现这两者,这需要更多的工作。因此,ORB较慢。
如果您修改代码,则每N帧只能进行一次检测。这可能超出了这个问题的范围。