利用OpenCV实现图像拼接的代码!
2016-07-30 10:30
513 查看
本文参考了《OpenCV图像处理编程实例》
图像拼接是利用连续帧图像生成全景图或更高分辨率的图像,通常图像拼接技术需要消除图像拼接部分的缝隙间隔,因些需要进行重叠区域匹配修复。通常图像拼接分为以下三个步骤:
⑴特征点检测。图像拼接操作对序列图像一般要求重叠区域不少于10%,对序列图像进行特征点检测,可利用OpenCV中提供的角点检测方法来对序列图像进行特征点提取。特征点筛选采用RANSAC提取有效样本特征点,OpenCV提供了函数FindHomography,可以进行特征筛选,同时可以计算出3×3转换矩阵。
⑵图像标定。计算出两幅图像之间的最优空间位置和色彩之间的变换关系,该映射关系矩阵能有效地将一幅图像中的点最优地映射到另一幅图像中,映射关系矩阵是该步骤的核心,根据上一步骤中得到的转换矩阵可计算出对应的透视变换。
⑶图像融合。根据标定步骤得到图像的输出投影,同时调整图像的空间颜色,以弥补曝光差异。缝隙调整是为了最大限度地减少图像之间拼接缝隙的可见性,最后对得到的图像进行事以得到全景图。
OpenCV提供了图像拼接类库Stitcher可完成图像间的缝合连接。Stitcher包含多个成员函数,estimateTransform函数实现匹配给定图像及估计每个摄像机的旋转矩阵;composePanorama函数实现组成给定图像的偏移,将图像偏移存储在内部并可供其他函数调用;stitch成员函数实现拼接给定图像。
OpenCV下实现图像拼接的代码如下:
代码中用到的三张图像的下载链接为:http://pan.baidu.com/s/1miuBZNq
说明一下:代码中stitch函数使用Stitcher类实现图像拼接,而stitch2则自己实现算法,并且stitch2只能实现两幅图的拼接
运行结果如下图所示:
-------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782
图像拼接是利用连续帧图像生成全景图或更高分辨率的图像,通常图像拼接技术需要消除图像拼接部分的缝隙间隔,因些需要进行重叠区域匹配修复。通常图像拼接分为以下三个步骤:
⑴特征点检测。图像拼接操作对序列图像一般要求重叠区域不少于10%,对序列图像进行特征点检测,可利用OpenCV中提供的角点检测方法来对序列图像进行特征点提取。特征点筛选采用RANSAC提取有效样本特征点,OpenCV提供了函数FindHomography,可以进行特征筛选,同时可以计算出3×3转换矩阵。
⑵图像标定。计算出两幅图像之间的最优空间位置和色彩之间的变换关系,该映射关系矩阵能有效地将一幅图像中的点最优地映射到另一幅图像中,映射关系矩阵是该步骤的核心,根据上一步骤中得到的转换矩阵可计算出对应的透视变换。
⑶图像融合。根据标定步骤得到图像的输出投影,同时调整图像的空间颜色,以弥补曝光差异。缝隙调整是为了最大限度地减少图像之间拼接缝隙的可见性,最后对得到的图像进行事以得到全景图。
OpenCV提供了图像拼接类库Stitcher可完成图像间的缝合连接。Stitcher包含多个成员函数,estimateTransform函数实现匹配给定图像及估计每个摄像机的旋转矩阵;composePanorama函数实现组成给定图像的偏移,将图像偏移存储在内部并可供其他函数调用;stitch成员函数实现拼接给定图像。
OpenCV下实现图像拼接的代码如下:
代码中用到的三张图像的下载链接为:http://pan.baidu.com/s/1miuBZNq
说明一下:代码中stitch函数使用Stitcher类实现图像拼接,而stitch2则自己实现算法,并且stitch2只能实现两幅图的拼接
//OpenCV版本2.4.13 //交流QQ2487872782 2016-8-4注:很报歉,此代码目前不能公开发表在博客上,已经删除,希望大家能理解!
运行结果如下图所示:
-------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782
相关文章推荐
- 利用最大熵进行阈值分割从而实现灰度图像的二值化的原理概要及OpenCV代码
- 利用均值漂移实现图像分割的原理和OpenCV代码
- 利用opencv2.4.10+VS2012和RobHess的sift特征算法实现全景图像拼接
- 利用OpenCV实现旋转文本图像矫正的原理及OpenCV代码
- opencv2实现n张图像拼接_stitcher具体之代码1_计算机视觉大作业1
- 图像拼接实现镜面效果 opencv完整代码 实现(附实验结果)
- opencv2实现n张图像拼接_stitcher具体之代码2(简化版)_计算机视觉大作业2
- 利用OpenCV实现图像边缘直方图输出
- OpenCv实现两幅图像的拼接
- 彩色图像直方图均衡化及颜色直方图显示 opencv实现 完整代码及详细注释
- 利用CxImage实现编解码Gif图像代码举例
- OpenCv学习之利用ORB算法完成图像拼接
- 利用数组操作实现灰度图像放大两倍(C++&opencv)
- 关于OpenCV中利用函数cvConvert实现图像数据类型转换(8U->16S)
- RGB彩色图像与灰度图像转换 opencv实现 代码及分析
- 利用CxImage实现编解码Gif图像代码举例
- 利用OpenCV实现图像纹理特征提取
- 图像细化算法 opencv实现 完整代码(附实验结果)
- 利用OpenCV实现对于两个图像的对比
- 图像细化算法 opencv实现 完整代码(附实验结果)