本代码使用VLFeat库中的函数对一幅图像进行了SIFT检测
需要事先配置好VLFeat和OpenCV,VLFeat的配置参考前一篇博文,OpenCV的配置网上一大堆,自己去百度
#include "stdafx.h" #include <stdio.h> #include <tchar.h> #include <opencv2/opencv.hpp> #include <stdio.h> using namespace cv; using namespace std; extern "C"{ #include <vl/generic.h> #include <vl/stringop.h> #include <vl/sift.h> #include <vl/getopt_long.h> }; int _tmain(int argc, _TCHAR* argv[]) { // 注意此处一定是0,不能不填,因为是单通道,灰度空间 IplImage* img = cvLoadImage("1.jpg", 0); // 此处这三个变量的定义看下面vl_sift_new函数中的解释 int noctaves = 4, nlevels = 2, o_min = 0; // vl_sift_pix 就是float型数据 vl_sift_pix *imgdata = new vl_sift_pix[img->height * img->width]; //