接下来,sift该怎么用?(肯定不是检测出来就结束了)
所以,接下来是图像特征匹配,输入两幅图像,输出匹配结果,代码如下(需加上头文件
#include
<opencv2/legacy/legacy.hpp>才可使用
BruteForceMatcher
):
cv::Mat image1=cv::imread("D:\\sift1.bmp");
cv::Mat image2=cv::imread("D:\\sift2.bmp");
cv::Mat out;
cv::SiftFeatureDetector siftdtc;
std::vector<cv::KeyPoint> kp1,kp2;
siftdtc.detect(image1,kp1);
siftdtc.detect(image2,kp2);
drawKeypoints(image1,kp1,out,Scalar::all(-1),4);
cv::imshow("",out);
//---------------------------------------------------------
SiftDescriptorExtractor extractor;
Mat descriptor1,descriptor2;
BruteForceMatcher