OpenCV Stitching 工程搭建
2016-01-28 09:48
155 查看
转自http://www.tuicool.com/articles/fMbUfaF
Opencv中提供Stitcher类,实现了多图像自动拼接,Opencv是开源的,程序实现的源代码都在Opencv安装文件中,以及Opencv提供的函数查询手册和Opencv教程都可以在官网上下载的到,通过这些文档和代码,我们可以很容易就对图像拼接有一个深刻的了解。所以下面,我就教大家怎么把stitcher类的实现源码以及sample的程序变成自己的,随便修改其中的功能函数,并且正常运行。
中,文件夹包含的内容如下:
stitching.cpp是比较简单的封装调用,只是传输图片,在main函数中修改stitcher类的参数。stitching_detailed.cpp比较详细,介绍了所有的参数的修改,surf或者orb特征点检测,光束法平差,水平,垂直或者没有波形矫正,多种光照补偿的选择,缝隙检测,多频段拼接,输出图片的位置和名称等等。
在Header Files中添加detail文件夹,将include\opencv2\stitching\detail中的.h文件加载进去。在Resource Files中将stitching_detailed.cpp以及src中的cpp也加载进去。这样调试程序会出现了2个错误,下面我们一一解决。
1.precomp.hpp中找不到cvconfig.h
修改办法:将程序的
改为
2.precomp.hpp中找不到../../imgproc/src/gcgraph.hpp
修改办法,将程序的
改为
并从
中,将gcgraph.hpp复制到工程文件夹中,就行了。
3.另外还有一个不是错误的问题,主要是为了方便程序运行时显示程序的进度
在detail\util.hpp中,第47行,将enable_log置1.
这样运行程序的时候就会显示出:
转自http://www.tuicool.com/articles/fMbUfaF
Opencv中提供Stitcher类,实现了多图像自动拼接,Opencv是开源的,程序实现的源代码都在Opencv安装文件中,以及Opencv提供的函数查询手册和Opencv教程都可以在官网上下载的到,通过这些文档和代码,我们可以很容易就对图像拼接有一个深刻的了解。所以下面,我就教大家怎么把stitcher类的实现源码以及sample的程序变成自己的,随便修改其中的功能函数,并且正常运行。
二、构建自己的stitcher
2.1 源代码
Opencv2.4.9版本安装之后只有两个文件夹,build和sources,build是Opencv的库,lib以及dll文件,sources就是Opencv的所有源码以及sample了,而stitcher的源码就在H:\opencv\sources\modules\stitching
中,文件夹包含的内容如下:
2.2 主函数
当然Opencv也提供了stitcher的应用实例,在sample\cpp文件夹中stitching.cpp是比较简单的封装调用,只是传输图片,在main函数中修改stitcher类的参数。stitching_detailed.cpp比较详细,介绍了所有的参数的修改,surf或者orb特征点检测,光束法平差,水平,垂直或者没有波形矫正,多种光照补偿的选择,缝隙检测,多频段拼接,输出图片的位置和名称等等。
2.3 构建工程
新建工程,将H:\opencv\sources\modules\stitching的文件夹中的include和src复制到工程文件夹中,将sample\cpp中的stitching_detailed.cpp也复制到工程文件夹中。在Header Files中添加detail文件夹,将include\opencv2\stitching\detail中的.h文件加载进去。在Resource Files中将stitching_detailed.cpp以及src中的cpp也加载进去。这样调试程序会出现了2个错误,下面我们一一解决。
1.precomp.hpp中找不到cvconfig.h
修改办法:将程序的
#include "cvconfig.h"
改为
#ifdef HAVE_CVCONFIG_H #include "cvconfig.h" #endif
2.precomp.hpp中找不到../../imgproc/src/gcgraph.hpp
修改办法,将程序的
#include "../../imgproc/src/gcgraph.hpp"
改为
#include "gcgraph.hpp"
并从
H:\opencv\sources\modules\imgproc\src
中,将gcgraph.hpp复制到工程文件夹中,就行了。
3.另外还有一个不是错误的问题,主要是为了方便程序运行时显示程序的进度
在detail\util.hpp中,第47行,将enable_log置1.
#define ENABLE_LOG 1
这样运行程序的时候就会显示出:
相关文章推荐
- FFMPEG架构分析
- 在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)
- jq : Linux下json的命令行工具
- Nginx记录分析响应慢的请求及替换网站响应内容的配置
- linux驱动 I2S
- 转 shell awk 使用详解
- 一个tomcat部署多个项目并通过不同的端口访问
- Linux 学习记录
- shell相关的用法
- 【安装记录】Apache Ant 1.9.6安装与配置
- 让Apache Shiro保护你的应用
- linux的挂载的问题,重启后就挂载就没有了
- @property 的作用
- 在window上配置两个tomcate,分别用于solr的写与读
- vertical-align:top在单词和中文的表现
- Mac 必备神器之 Go2Shell 以及使用技巧
- CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。
- WEB网站常见的攻击方法总结与原理分析
- linux信号总结
- Ubuntu 14.04 文件服务器--samba的安装和配置