最近看图像匹配的内容,特地比较了暴力匹配和基于FLANN的匹配方法,按照理论上讲,FLANN更快一些,但是程序结果显示暴力匹配的方法更快,由于我只用了两幅图像,可能是实验样本太少的缘故吧,代码如下:
#include<iostream>
#include<opencv2/core.hpp>
#include<opencv2/features2d.hpp>
#include<opencv2/highgui.hpp>
#include<chrono>
using namespace std;
using namespace cv;
int main()
{
Mat left=imread("/home/***/EuRoC/mav0/cam0/data/1403715273262142976.png",0);
Mat right=imread("/home/***/EuRoC/mav0/cam1/data/1403715273262142976.png",0);
std::vector<KeyPoint> keypoints_left,keypoints_right;
Mat descriptors_left,descriptors_right;
std::vector<DMatch> feature_match;
Ptr<ORB> orb=ORB::create();
orb->detect(left,keypoints_left);
orb->detect(right,keypoints_right);
orb->compute(left,keypoints_left,descriptors_left);
orb->compute(right,keypoints_right,descriptors_right);
cout<<keypoints_left.size()<<endl;
cout<<keypoints_right.size()<<endl;
chrono::steady_clock::time_point t1=chrono::steady

博主对比了OpenCV中暴力匹配和基于FLANN的图像匹配方法。理论认为FLANN更快,但实际程序运行显示暴力匹配速度更快,这可能是因为实验样本数量有限。代码已给出。
最低0.47元/天 解锁文章
4713

被折叠的 条评论
为什么被折叠?



