0046-OpenCV下的SIFT特征检测

一个物体,不管远近以及角度如何,我们人都能判断为同一物体,因为我们人脑是根据物体的特征来判断是不是同一物体的,计算机在处理图像时,我们也希望具备这样的能力,所以需要对图像进行特征提取

本文给出利用OpenCV的SIFT类来进行图像的特征提取与匹配的代码。

由于OpenCV3.0没有编译nonfree,而SIFT类包含在这个模块中,所以我们使用OpenCV2.4.9
OpenCV2.4.9的Windows版安装包下载链接及配置方法请搜索公众号"qxsf321",关注后回复0045获取!


代码如下
图像处理开发资料、图像处理开发需求、图像处理接私活挣零花钱,可以搜索公众号"qxsf321",并关注!
代码中用到的图像下载链接:https://pan.baidu.com/s/1eSAPnVG 密码:usrm

//opencv版本:OpenCV2.4.9
//VS版本:VS2012
//Author:qxsf321.net

#include <highgui/highgui.hpp>  
#include <opencv2/nonfree/nonfree.hpp> 
#include <opencv2/legacy/legacy.hpp>  

using namespace cv;  
using namespace std;  

int main()  
{  
    Mat image01=imread("17.jpg");  
    Mat image02=imread("18.jpg");  
    Mat image1,image2;  
    GaussianBlur(image01,image1,Size(3,3),0.5);  
    GaussianBlur(image02,image2,Size(3,3),0.5);  

    //提取特征点  
    SiftFeatureDetector siftDetector(30);  //30为检测算子的阀值 
    vector<KeyPoint> keyPoint1,keyPoint2;  
    siftDetector.detect(image1,keyPoint1);  
    siftDetector.detect(image2,keyPoint2);  

    //绘制特征点  
    drawKeypoints(image1,keyPoint1,image1,Scalar::all(-1),DrawMatchesFlags::DRAW_RICH_KEYPOINTS);  
    drawKeypoints(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值