OpenCV入门 - 提取SIFT关键点
在基于内容的图像检索中,图像的局部不变特征是相对全局特征来说的,局部特征可以有力的描述图像的特征,具有重要的意义,而在很多基于灰度的局部特征提取算法中SIFT具有最好的效果,具体原理要看Lowe的论文,下面利用opencv感受以下效果。
运行:
g++ sift_demo.cxx 编译出现链接错误:
/tmp/cczZicnK.o: In function `main':
在基于内容的图像检索中,图像的局部不变特征是相对全局特征来说的,局部特征可以有力的描述图像的特征,具有重要的意义,而在很多基于灰度的局部特征提取算法中SIFT具有最好的效果,具体原理要看Lowe的论文,下面利用opencv感受以下效果。
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/nonfree/features2d.hpp> //
using namespace cv;
int main(int argc, const char *argv[]){
Mat input = imread("input.jpg", 0);// load as grayscale
SiftFeatureDetector detector;
vector<KeyPoint> keypoints;
detector.detect(input, keypoints);
// show the keypoints on an image
Mat output;
drawKeypoints(input, keypoints, output);
imwrite("sift_result.jpg",output);
return 0;
}
运行:
g++ sift_demo.cxx 编译出现链接错误:
/tmp/cczZicnK.o: In function `main':