步骤:先用SURF描述子检测关键点,再利用FLANN匹配对关键点进行筛选匹配,最后利用透视变换将匹配后的对象画出来。
#include<opencv2\opencv.hpp>
#include<opencv2\xfeatures2d.hpp>
using namespace cv;
using namespace xfeatures2d;
using namespace std;
int main(int arc, char** argv)
{
Mat src1 = imread("1.png",IMREAD_GRAYSCALE);
Mat src2 = imread("2.png", IMREAD_GRAYSCALE);
namedWindow("input1", CV_WINDOW_AUTOSIZE);
imshow("input1", src1);
imshow("input2", src2);
//surf features extraction
int minHessian = 400;
Ptr<SURF>surf = SURF::create(minHessian);
vector<KeyPoint>keypoints1, keypoints2;
Mat descriptors1, descriptors2;
surf->detectAndCompute(src1, Mat(), keypoints1, descri