您的位置:首页 > 大数据 > 人工智能

图片拼接镶嵌算法(image spline and mosaics经典算法)实现过程和效果展示

2011-12-05 16:15 441 查看
图片拼接镶嵌算法(image spline and mosaics经典算法)实现过程和效果展示

2010-01-01 14:56
图片拼接镶嵌(image spline and mosaics)应用很广,可以实现不同图片之间的拼接和镶嵌。这方面的一个经典算法是Peter J. Burt和Edward H. Adelson在《A Multiresolution Spline With Application To Image Mosaics》中提出的。实现该算法还需要精读一篇论文 "The Laplacian pyramid
as a compact image code" (Burt & Adelson 1983)。

用Multiresolution Spline算法来消除这些痕迹。Multiresolution Spline的基本原理是使用Gaussian算子通过对图像进行层叠分解(pyramid decomposition),使用REDUCE和EXPAND算子来获得Gk(Gaussian图)和Lk (Laplacian图),并在给定曲线(一般指重叠的痕迹)上对每层的两个Lk图进行融合。然后将融合后的PK图放大,以得到Sk(即每层的最终图像,由Pk和Sk+1求得)。最终的图像是S0 。如下图所示:



实现该算法,主要需要以下步骤:

1、完成对图像的高斯和拉普拉斯金字塔存储转换。主要有以下三个函数:

[p] = gaussianPyramid(im,n,a)

[p] = laplacianPyramid(im,n,a)

[im] = collapsePyramid(p,a)

2、写出对两张图像进行融合拼接的函数:

[im] = imBlend(fg,bg,n)

3、根据不同的应用问题,可以按照Peter J. Burt和Edward H. Adelson的经典算法的要求,对上面的函数的进行修改。

由于该算法是比较早期提出的,现已经有许多改进。但该算法仍然是一个经典算法,通过该算法,可以进一步理解图像分层数据结构的原理和应用。



可以认真阅读论文《A Multiresolution Spline With Application To Image Mosaics》,上面对这个算法讲得很详细。另外,有个开源项目:http://enblend.sourceforge.net/,是关于图像拼接处理的,有源代码哦。

江南一点红 写于2010年第一天
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: