opencv2.4.2中的特征描述子

本文介绍了使用 OpenCV 2.4.2 版本进行 SIFT 特征检测的过程。作者通过下载并安装 OpenCV 2.4.2,使用 CMake 构建了 VS2010 的解决方案,并编译了 64 位版本。在遇到 cv::kmeans 函数变动问题后,通过引入 nonfree 库解决了 SIFT 特征算子缺失的问题,并展示了如何使用 SIFT 检测图像特征。

从官网下载了opencv2.4.2 , 是exe文件,直接安装。

已经有build好的版本,vs2010可以直接用。也可以用cmake重新做。记得build好的版本,好像无法跟踪到内部,

我用cmake做了vs2010的sln,然后编译了64位版本。

修改了c++的相应设置,include目录,lib目录,input相应的lib。

编译以前写的几个demo。一个有问题。是cv::kmeans函数的变动引起的。

下面来试下。

cv namespace下没有sift特征算子。有fast,orb。

看到有文章说2.4开始有一个nonfree 库,发现默认情况下opencv.hpp没有把它包括进去。

include 进来 nonfree.hpp后,有sift了。还要input对应的lib。

代码如下:

cv::Mat img=cv::imread(imgpath+"1.jpg",0);
 cv::imshow(imgpath,img);
 cv::waitKey(0);
 //sift特征
 cv::SiftFeatureDetector detector;
 std::vector<cv::KeyPoint> keypoints;
 detector.detect(img, keypoints);
 // Add results to image and save.
    cv::Mat output;
    cv::drawKeypoints(img, keypoints, output);
 cv::imshow(imgpath,output);
 cv::waitKey(0);
 return 0;

还没有把sift特征的强度和方向画出来。

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值