opencv图像匹配速度比较

时间耗费上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的方式,不需要转换成浮点,感觉会更优些。

作者:帅得不敢出门




你可能感兴趣的:(人工智能,opencv,orb)