分类: C/C++
2018-07-03 11:49:37
时间耗费上sift>surf>orb, 所以orb是最快的。
在orb的基础上,通过一个具体的示例得出如下数据:
//cv::BFMatcher matcher(cv::NORM_HAMMING, false); // 632ms
//cv::BFMatcher matcher(cv::NORM_L2, false); //324ms
//cv::BFMatcher matcher(cv::NORM_L1, false); //304ms
//cv::FlannBasedMatcher matcher = cv::FlannBasedMatcher(new flann::KDTreeIndexParams(),new flann::SearchParams()); // 115ms need convert to 32F
//cv::FlannBasedMatcher matcher = cv::FlannBasedMatcher(cv::makePtr(12, 20, 2)); // 96ms
//cv::FlannBasedMatcher matcher = cv::FlannBasedMatcher(cv::makePtr(5, 10, 1)); //53ms
使用flann比bruteforce快,flann情况,如果要用kdtree需要把特征点转换成CV_32F的浮点才能使用,而lshindexparams的方式,不需要转换成浮点,感觉会更优些。
作者:帅得不敢出门