引用 SIFT算法学习:特征提取函数的使用
来源:互联网 发布:safari 调试工具 网络 编辑:程序博客网 时间:2024/06/05 00:20
引用
feifei17866 的 SIFT算法学习:特征提取函数的使用
作为一种匹配能力较强的局部描述算子,SIFT算法的实现相当复杂,但从软件开发的角度来说,只要会使用其中几个比较重要的函数就行了。这里要感谢David Lowe这个大牛,不但提供了一种强悍的特征匹配算法,还给出了C++的实现代码,后来有人用C#实现了这个算法,需要的朋友可到网上自行下载。
关键函数一:int sift_features( IplImage* img, struct feature** feat )
这个函数就是用来提取图像中的特征向量。参数img为一个指向IplImage数据类型的指针,用来表示需要进行特征提取的图像。IplImage是opencv库定义的图像基本类型(关于opencv是一个著名的图像处理类库,详细的介绍可以参见http://www.opencv.org.cn)。参数feat 是一个数组指针,用来存储图像的特征向量。函数调用成功将返回特征向量的数目,否则返回-1.
关键函数二:
int _sift_features( IplImage* img, struct feature** feat, int intvls,double sigma, double contr_thr, int curv_thr, int img_dbl, int descr_width, int descr_hist_bins )
这个函数是函数一的重载,作用是一样的,实际上函数一只不过是使用默认参数调用了函数二,核心的代码都是在函数二中实现的。下面将详细介绍一下其他的几个参数。
intvls: 每个尺度空间的采样间隔数,默认值为3.
sigma: 高斯平滑的数量,默认值1.6.
contr_thr:判定特征点是否稳定,取值(0,1),默认为0.04,这个值越大,被剔除的特征点就越多。
curv_thr:判定特征点是否边缘点,默认为6.
img_dbl:在建立尺度空间前如果图像被放大了1倍则取值为1,否则为0.
descr_width:计算特征描述符时邻域子块的宽度,默认为4.
descr_hist_bins:计算特征描述符时将特征点邻域进行投影的方向数,默认为8,分别是0,45,90,135,180,215,270,315共8个方向。
如果只是做特征提取,上面这个函数就足够了,不同图像之间的匹配都是建立在这个基础上的,如果你有足够强的编程能力即使不懂这个算法也能够编写出像样的程序来,因为下面的比较说白了都是数据结构的比较,跟算法已经没有太多关系了。如果想要深入了解算法,还是认真的看论文和代码吧。
- 引用 SIFT算法学习:特征提取函数的使用
- SIFT算法学习:特征提取函数的使用
- sift特征提取算法
- 特征提取算法--Sift
- SIFT特征提取算法
- SIFT特征提取算法
- SIFT特征提取算法
- SIFT算法的特征提取与匹配
- 2.SIFT特征提取分析的学习
- SIFT特征提取算法总结
- SIFT 特征提取算法总结
- SIFT 特征提取算法总结
- SIFT特征提取算法总结
- SIFT 特征提取算法总结
- SIFT 特征提取算法总结
- SIFT 特征提取算法总结
- SIFT 特征提取算法总结
- SIFT 特征提取算法总结
- JSp开发中特殊sql语句的表达形式
- hdoj 1028母函数
- DSP/BIOS 实现实时数据调试和交换
- 无奈啊
- 人在上海--探讨外地人来上海以及上海的生活
- 引用 SIFT算法学习:特征提取函数的使用
- win7 下 vmware workstation7 安装 freebsd
- Java 继承知识点
- http://acm.nyist.net/JudgeOnline/problem.php?pid=118&&次小生成树
- libnet、libnids、libpcap轻松搭建Linux网络入侵检测系统
- 学习动态代理的总结
- 在eclipse里移除不在需要的工作空间
- MFC对话框摘要
- ubuntn 下编译boost_1_47