#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/nonfree/features2d.hpp"
#include "opencv2/flann/miniflann.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include <stdio.h>
#include <iostream>
using namespace cv;
using namespace std;
cv::Mat flannMatchExtract(cv::Mat srcImage1, cv::Mat srcImage2)
{
CV_Assert(srcImage1.data != 0 && srcImage2.data != 0);
// 构造SURF检测器
int hessPara = 300;
SurfFeatureDetector detector(hessPara);
vector<KeyPoint> kPoint1, kPoint2;
// 特征点检测
detector.detect(srcImage1,kPoint1);
detector.detect(srcImage2,kPoint2);
SurfDescriptorExtractor extractor;
// 描述子提取
cv::Mat despMat1, despMat2;
extractor.compute(srcImage1,kPoint1, despMat1);
extractor.compute(srcImage2,kPoint2, despMat2);
// Flann 特征点匹配
FlannBasedMatcher matcher;
vector< DMatch > matches;
matcher.match( despMat1, despMat2, matches );
double m
opencv-图片特征点提取
最新推荐文章于 2025-06-10 14:12:40 发布