利用RobHess源码实现SIFT算法及RANSAC去错的图像特征提取匹配及去除错匹配
来源:互联网 发布:网络机顶盒能接音响吗 编辑:程序博客网 时间:2024/05/16 00:45
本文是在VS2010+Opencv2.4.9环境下实现!
首先下载RobHess利用opencv实现SIFT算法源码,在配置好opencv环境的vs2010中实现SIFT特征提取、匹配,在利用K-D树、BBF和RANSAC去除错误匹配,实验结果如图:
去除错误匹配前结果:
去除错误匹配后结果:
下面详细介绍如何在自己的开发环境中实现利用RobHess源码:
1、在VS2010中新建自己的C++工程。在工程根目录内将源码文件添加进去,imgfeatures.c imgfeatures.h kdtree.c kdtree.h minpq.c minpq.h sift.c sift.h utils.c utils.h xform.c xform.h(即除了match.c(实现匹配测试程序) siftfeat.c(实现特征提取测试程序) dspfeat.c(从保存特征点文件中读取特征点并显示)的所有源码文件)
2、在需要使用sift方法的地方添加对应头文件:
#include "sift.h"#include "imgfeatures.h"#include "utils.h"
#include "kdtree.h"
#include "xform.h"#include "minpq.h"
4、C语法设定:分别打开imgfeatures.h和sift.h等所有包含的头文件中,让所有函数包含在
#ifdef __cplusplusextern "C" {#endif
和
#ifdef __cplusplus}#endif
#ifdef __cplusplusextern "C" {#endif#ifndef XFORM_H#define XFORM_H#include <cxcore.h>..........#ifdef __cplusplus}#endif
5.调用相关函数可能会遇到的报错如下:
(1)编译报错:
1>utils.obj : error LNK2001: 无法解析的外部符号 _va_end
1>utils.obj : error LNK2001: 无法解析的外部符号 _va_start
说好了源码里面有些东西是要改的:在utils.c中#include <stdarg.h>就OK了。
(2)编译报错:picturecopy1.obj : error LNK2019: 无法解析的外部符号 "int __cdecl kdtree_bbf_knn(struct kd_node *,struct feature *,int,struct feature * * *,int)"
(?kdtree_bbf_knn@@YAHPAUkd_node@@PAUfeature@@HPAPAPAU2@H@Z),该符号在函数 _main 中被引用
出现上述类似错误将包含的任意一个头文件.h改成.cpp后编译,然后再改成.h即可解决。(3)注意事情:
下载RobHess源码时候注意要下载VC++版本或C版本,切勿下载linux版本在VS2010环境中调用!程序中遇到相关简单错误可自行解决这里不再赘述。
RobHess源码下载地址:http://download.csdn.net/detail/u011028345/9786644
本文程序源代码下载地址(在VS2010+Opencv2.4.9中打开即可使用):http://download.csdn.net/detail/u011028345/9786656
- 利用RobHess源码实现SIFT算法及RANSAC去错的图像特征提取匹配及去除错匹配
- RobHess的SIFT源码图像特征点匹配
- 利用RANSAC算法筛选SIFT特征匹配
- 利用RANSAC算法筛选SIFT特征匹配
- 利用RANSAC算法筛选SIFT特征匹配
- 利用RANSAC算法筛选SIFT特征匹配
- 利用RANSAC算法筛选SIFT特征匹配
- 利用RANSAC算法筛选SIFT特征匹配
- 利用RANSAC算法筛选SIFT特征匹配
- 利用RANSAC算法筛选SIFT特征匹配
- Opencv实现:SIFT特征提取+RANSAC剔除误匹配点
- Opencv实现:SIFT特征提取+RANSAC剔除误匹配点
- 利用opencv2.4.10+VS2012和RobHess的sift特征算法实现全景图像拼接
- OpenCV SURF SIFT特征提取及RANSAC算法
- SIFT算法的特征提取与匹配
- opencv-计算图像的SIFT特征及匹配
- sift图像特征提取与匹配算法代码
- sift图像特征提取与匹配算法代码
- 实验吧简单的sql注入之3WP
- 原型模式
- selenium爬取乐文网小说
- 时序图简介(Brief introduction)
- UART
- 利用RobHess源码实现SIFT算法及RANSAC去错的图像特征提取匹配及去除错匹配
- leetcode:72. Edit Distance
- hdu 置换群
- 1070. 结绳(25)
- selenium 超时设置/等待时间过长自动停止(python)
- iOS 两种压缩方式比较
- 最小生成树
- 数据结构实验之链表三:链表的逆置
- L1-009. N个数求和