OpenCV图像处理入门学习教程系列,上一篇第二篇:不同阈值二值化图像
图像拼接与融合介绍
图像拼接在实际中的应用场景非常广泛,比如无人机的航拍,遥感图像等,甚至小到我们出去游玩用手机拍照时,无奈广角太小,没有办法一次将所有你要拍的景物全部拍下来(当然现在很多手机都自带全景拍照啦,但是不自己试试怎么拼接多不爽~)
那么现在假如你的手机是老爷机,没有广角镜头,没有全景功能,所以你对某处中国好山水从左往右依次拍了好几张照片,现在的你坐在电脑前,把手机插入电脑,总不能看着这些照片发呆吧!那么我们能不能把这些照片拼接成一个全景图像呢?现在利用OpenCV就可以做到图像拼接生成全景图像的效果!
比如我们有以下这样的两张图要进行拼接,还得考虑平时拍照时手抖拍斜了的情况嘛!
大家看到可能会大喊:哎呀!这是哪个手残党拍的照片!拍斜了不说,光线还差了那么多,这拼起来多丑对不对!不要怕,只要满足图像拼接的基本需求——两张图有比较多的重叠部分,其他一切都不是问题~
图像拼接技术主要包括两个关键环节即图像配准和图像融合。对于图像融合部分,由于其耗时不太大,且现有的几种主要方法效果差别也不多,所以总体来说算法上比较成熟。
而图像配准部分是整个图像拼接技术的核心部分,它直接关系到图像拼接算法的成功率和运行速度,因此配准算法的研究是多年来研究的重点。
现在CV领域有很多特征点的定义,比如sift、surf、harris角点、ORB都是很有名的特征因子,都可以用来做图像拼接的工作,他们各有优势。本文将使用基于SIFT和SURF特征进行微旋转图像的图像拼接,用其他方法进行拼接也是类似的,简单来说都是由以下几步完成,区别在于特征点的提取不同:
(1)特征点提取和描述。
(2)特征点配对,找到两幅图像中匹配点的位置。
(3)通过配对点,生成变换矩阵,并对图像1应用变换矩阵生成对图像2的映射图像,即图像配准。
(4)图像2拼接拷贝到映射图像上,完成拼接。
通过以上4步之后,完成了基础的拼接过程。如果还想对重叠边界进行特殊处理,可以考虑图像融合(去裂缝处理)。
一、OpenCV2和3不同的环境配置
IDE:Visual Studio 2013
语