(特征匹配)SurfFeatureDetector类的改变【opencv2.4.10——>opencv3.4.4】

**
opencv3.4.4
//opencv2.4.10**

//增加头文件
#include<opencv2/core/core.hpp>
#include<opencv2/xfeatures2d/nonfree.hpp>

    //提取特征点
	cv::Ptr<cv::xfeatures2d::SurfFeatureDetector> surfDetector = cv::xfeatures2d::SurfFeatureDetector::create(Threshold);
    ///cv::SurfFeatureDetector surfDetector(Threshold);  // 海塞矩阵阈值,在这里调整精度,值越大点越少,越精准

    //特征点描述,为下边的特征点匹配做准备
	cv::Ptr<cv::xfeatures2d::SurfDescriptorExtractor> SurfDescriptor = cv::xfeatures2d::SurfDescriptorExtractor::create();
    ///cv::SurfDescriptorExtractor SurfDescriptor;

    //获得匹配特征点
	cv::Ptr<cv::DescriptorMatcher> matcher = cv::DescriptorMatcher::create("FlannBased");
     ///cv::FlannBasedMatcher matcher;

    surfDetector->detect/compute(...)
    ///surfDetector.detect/compute(...)

     matcher->add(train_desc);
     matcher->train();
     matcher->match(imageDesc1, imageDesc2, matchePoints, cv::Mat());
     ///matcher.add(train_desc);
     ///matcher.train();
     ///matcher.match(imageDesc1, imageDesc2, matchePoints, cv::Mat());

完整测试代码对比:
opencv2.4.10:

#include "include_files.h"
#include <opencv2/opencv.hpp>

cv::Mat SURF_test(cv::Mat image01,cv::Mat image02,int Threshold)
{
    cv::Mat image1,image2;
    cv::Mat img_match;
    cvtColor(image01, image1, CV_RGB2GRAY);
    cvtColor(image02, image2, CV_RGB2GRAY);

    //提取特征点
    cv::SurfFeatureDetector surfDetector(Threshold);  // 海塞矩阵阈值,在这里调整精度,值越大点越少,越精准
    vector<c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值