OpenCV入门 - 提取SIFT关键点
来源:互联网 发布:windows iso怎么安装 编辑:程序博客网 时间:2024/05/29 18:35
OpenCV入门 - 提取SIFT关键点
在基于内容的图像检索中,图像的局部不变特征是相对全局特征来说的,局部特征可以有力的描述图像的特征,具有重要的意义,而在很多基于灰度的局部特征提取算法中SIFT具有最好的效果,具体原理要看Lowe的论文,下面利用opencv感受以下效果。
运行:
g++ sift_demo.cxx 编译出现链接错误:
/tmp/cczZicnK.o: In function `main':
sift_demo.cxx:(.text+0x4d): undefined reference to `cv::imread(std::string const&, int)'
/tmp/cczZicnK.o: In function `cv::Mat::~Mat()':
sift_demo.cxx:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x2b): undefined reference to `cv::fastFree(void*)'
/tmp/cczZicnK.o: In function `cv::Mat::release()':
sift_demo.cxx:(.text._ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x3b): undefined reference to `cv::Mat::deallocate()'
collect2: error: ld returned 1 exit status
解决:说明没有找到库的位置,制定, g++ sift_demo.cxx `pkg-config opencv --cflags --libs`
在基于内容的图像检索中,图像的局部不变特征是相对全局特征来说的,局部特征可以有力的描述图像的特征,具有重要的意义,而在很多基于灰度的局部特征提取算法中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':
sift_demo.cxx:(.text+0x4d): undefined reference to `cv::imread(std::string const&, int)'
/tmp/cczZicnK.o: In function `cv::Mat::~Mat()':
sift_demo.cxx:(.text._ZN2cv3MatD2Ev[_ZN2cv3MatD5Ev]+0x2b): undefined reference to `cv::fastFree(void*)'
/tmp/cczZicnK.o: In function `cv::Mat::release()':
sift_demo.cxx:(.text._ZN2cv3Mat7releaseEv[_ZN2cv3Mat7releaseEv]+0x3b): undefined reference to `cv::Mat::deallocate()'
collect2: error: ld returned 1 exit status
解决:说明没有找到库的位置,制定, g++ sift_demo.cxx `pkg-config opencv --cflags --libs`
最后得到的结果如下,可以看到关键点很多,通过圈的形式表现在原图上。
0 0
- OpenCV入门 - 提取SIFT关键点
- SIFT算法提取关键点
- OpenCV入门 - 提取SIFT特征向量
- OpenCV SIFT特征点提取算法
- 基于SIFT的点云关键点提取
- 【OpenCV】SIFT原理与源码分析:关键点描述
- 【OpenCV】SIFT原理与源码分析:关键点描述
- 【OpenCV】SIFT原理与源码分析:4.关键点描述
- SIFT--关键点定位
- Opencv实现:SIFT特征提取+RANSAC剔除误匹配点
- Opencv实现:SIFT特征提取+RANSAC剔除误匹配点
- OpenCV提取SIFT特征
- Opencv SIFT特征提取
- 【OpenCV】SIFT特征提取
- opencv提取SIFT特征
- opencv3中SIFT配合暴力匹配进行关键点描述和提取
- OpenCV实践之路——Qt中用opencv提取和匹配SIFT特征点
- OpenCV实践之路——Qt中用opencv提取和匹配SIFT特征点
- Tomcat 配置详解/优化方案
- ZOJ 3772 Calculate the Function(线段树+矩阵)
- 对 tinyhttpd 的理解
- Flyweight模式 享元模式
- Java Graphics2D类的绘图方法
- OpenCV入门 - 提取SIFT关键点
- 从一个简单例子谈谈js的捕获与冒泡问题
- android 集成第三方静态库的编译方法
- libsvm-javaAPI
- 为什么封装的dll看不到注释
- linux获取前一天的日期的脚本
- iOS开发遇到问题汇总(一)
- Android源码解读 第二篇
- Chrome浏览器自动将ajax请求回来的json数据排序问题