基于SURF的图像拼接
用SIFT算法来实现图像拼接是很常用的方法,但是因为SIFT计算量很大,所以在速度要求很高的场合下不再适用。所以,它的改进方法SURF因为在速度方面有了明显的提高(速度是SIFT的3倍),所以在图像拼接领域还是大有作为。虽说SURF精确度和稳定性不及SIFT,但是其综合能力还是优越一些。下面将详细介绍拼接的主要步骤:
1.特征点提取和匹配
特征点提取和匹配的方法我在上一篇文章《图像拼接流程》中做了详细的介绍,在这里直接使用上文所总结的SURF特征提取和特征匹配的方法。
2.图像配准
这样子我们就可以得到了两幅待拼接图的匹配点集,接下来我们进行图像的配准,即将两张图像转换为同一坐标下,这里我们需要使用findHomography函数来求得变换矩阵
3. 图像拷贝
拷贝的思路很简单,就是将左图直接拷贝到配准图上就可以了。
4.图像融合(去裂缝处理)
从上图可以看出,两图的拼接并不自然,原因就在于拼接图的交界处,两图因为光照色泽的原因使得两图交界处的过渡很糟糕,所以需要特定的处理解决这种不自然。这里的处理思路是加权融合,在重叠部分由前一幅图像慢慢过渡到第二幅图像,即将图像的重叠区域的像素值按一定的权值相加合成新的图像。
参考文章:OpenCV探索之路(二十四)图像拼接和图像融合技术
原文中包含:完整的SURF算法实现的拼接代码以及基于ORB的图像拼接