102855李盼盼基于傅里叶变换的图像拼接.docx
《102855李盼盼基于傅里叶变换的图像拼接.docx》由会员分享,可在线阅读,更多相关《102855李盼盼基于傅里叶变换的图像拼接.docx(8页珍藏版)》请在冰豆网上搜索。
102855李盼盼基于傅里叶变换的图像拼接
基于傅里叶变换的图像拼接
李盼盼
(河南大学数学与信息科学学院开封475004)
摘要:
图像拼接在图像处理中应用广泛。
本文主要研究了傅里叶变换,将图像变换到频域进行分析。
利用时域的相对位移等效于频域互功率谱的相位,可以计算出图片的相对偏移量。
然后,利用渐进渐出的加权平均法方法消除拼接缝隙,简单且能达到较好的结果。
关键词:
图像拼接;傅里叶变换;对数极坐标变换
1引言
图像拼接(mosaic)技术就是将一组重叠图像的集合拼接成一幅大的分辨率更高的图片[1]。
图像拼接在我们的生活应用广泛。
由于全景图的硬件设备(如广角镜头)比较昂贵,普遍应用不太可能。
图像拼接技术就可以让我们不依赖全景图的硬件,而得到大场景的照片。
2图像拼接步骤
图像拼接框架如图2-1所示,图像拼接的关键技术是图像配准与图像融合两个步骤[2]。
2.1图像采集
在图像拼接之前,需要采集需要的图片。
对于采集的图片,相邻的图片之间
必须有足够的重叠部分。
为了在后续的图像配准中获得较好的图像匹配效果,通
常在相同环境下采集,以减少环境因素带来的图像相同区域之间的差异。
图像采集一般通过旋转,平移相机等方式获取。
本文通过相机平移采集照片。
2.2图像预处理
图像预处理的主要目的是为了减少环境及其他因素对图像配准的影响,提高
配准精度和拼接处理速度。
图像预处理主要承担两项任务[3]:
(1)对使用的相机进行校准,获取其内参数;
(2)对图像失真进行校正,获取相机的校正参数。
2.3图像配准
数字图像拼接的质量主要取决于图像的配准精度。
本文利用傅里叶变换后,时域的平移量等效于互功率谱的相位,其傅里叶反变换是平移运动坐标上的脉冲,搜索最大值的位置(x0,yO)就是两幅图像的相对平移量。
2.4图像融合
图像融合技术主要分为三个层次:
像素级,特征级,决策级[4]。
具体参考文
献⑸。
常用的图像融合算法有:
(1)直接平均法。
直接平均法是将两幅图片的重叠区域像素的灰度值叠加,然后求其平均值,用其作为融合后图像的像素灰度值。
公式为:
fi(x,y),(x,y严fl
f(x,y)…(fi(x,y)+f2(x,y))/2,(x,y)丘(fQf?
)
」2(x,y),(x,y)亡f2
(2)加权平均法
加权平均法是把图像重叠区域的像素值进行加权相加,然后计算平均值。
公式为:
1(x,y),(x,y)wfl
f(x,y)=f,f1,f2意义同上,w1+w2=1,w1>0,w2>0.
本文融合采用渐进渐出法(w仁d1,w2=d2,在重叠区域,d1由1渐变为0,d2由0渐变成1)。
3相位相关法
二维傅里叶变换定义
定义二维傅里叶变换为:
其中,u=1,2,m;v=1,2,n.
傅里叶逆变换定义为:
其中,x=1,.m;y=1,,n.
二维离散傅里叶变换的幅度谱定义为:
|F(u,v)|=R(u,v)2I(u,v)2.
相位谱定义为:
二retanI(U,v)
R(u,v)
能量谱定义为:
22
E(u,v)二R(u,v)I(u,v).
设f1和f2分别表示两幅待拼接的数字图像,第二副图像在第一副图像的相对位置上有如下的坐标转换关系:
f2(x,y)二f1(x_xO,y-y0).
其中(x0,y0)表示相对平移量。
对上式两边做傅里叶变换,则有下式:
F(u,v)=exp(—j(ux0-vy0))F1(u,v).
由上式可知,它们之间的相位差可以等效为互功率谱的相位:
由于
exp(_j(ux0_vy0))、6(x_x0,y_y0).
对上式做傅里叶逆变换,相位差的傅里叶逆变换是平移坐标上的脉冲函数,只需找到最大值得位置,对应的坐标为两幅图的相对位移。
4基于相位相关法的图像拼接算法
4.1算法流程
(1)导入图象001,,002,003,并进行傅里叶变换
图片libl
图片lib2
图片schooldoorl
图片schooldoor2
图2图像拼接示例(4幅源图)
图片相对偏移量计算函数为:
function[x0,y0]=pyjs(pic1,pic2)
[piclxpic1y]=size(pic1);
[pic2xpic2y]=size(pic2);x=max(pic1x,pic2x);y=max(pic1y,pic2y);
p1=[zeros(pic1x,y-pic1y),pic1;
zeros(x-pic1x,y)];
p2=[pic2,zeros(pic2x,y-pic2y);
zeros(x-pic2x,y)];
f1=fft2(p1);
f2=fft2(p2);
glp=zeros(x,y);
fb=f1.*conj(f2);
fc=abs(fb)+eps;
p3=ifft2(fb./fc);
[d,e]=max(p3);
[f,g]=max(d);
x0=e(g);
y0=g;
导入图像计算相对平移量程序如下
clear;clc;
cp='E:
\matlab\program\';
lib仁imread([cp,'lib1.png']);
lib2=imread([cp,'lib2.png']);
scd1=imread([cp,'schooldoor1.png']);
scd2=imread([cp,'schooldoor2.png']);[x0,y0]=pyjs(lib1,lib2);
(3)图像融合,加权平均法的matlab融合函数如下:
functionpicture=ronghe(pic1,pic2,a,b)
%pic1,pic2是待拼接的图像数组
%a,b为两幅图片的相对位移xO,yO
[pic1m,pic1n]=size(pic1);
[pic2m,pic2n]=size(pic2);
picture=zeros(a+pic2m,b+pic2n);
picture(1:
a,1:
pic1n)=pic1(1:
a,:
);
picture((a+1):
pic1m,1:
b)=double(pic1((a+1):
pic1m,1:
b));
chm=pic1m-a;
chn=pic1n-b;
ch1=zeros(chm,chn);
forj=1:
chn
ch1(:
j)=(j-1)/chn;
end
ch2=fliplr(ch1);
p1ch=double(pic1((a+1):
pic1m,(b+1):
pic1n));
p2ch=double(pic2(1:
chm,1:
chn));
picture((a+1):
pic1m,(b+1):
pic1n)=p1ch.*ch2+p2ch*ch1;
picture((a+1):
(a+chm),(pic1n+1):
(b+pic2n))=double(pic2(1:
chm,(chn+1):
pic2n))
J
picture((pic1m+1):
(a+pic2m),1:
pic2n)=double(pic2((chm+1):
pic2m,1:
pic2n));
图像融合程序如下:
lib=ronghe(lib1,lib2,x0,y0);
figure;imshow(lib,[]);
[m,n]=pyjs(scd1,scd2);
scd=ronghe(scd1,scd2,m,n);
figure,imshow(scd,[]);;
融合后图像如下:
图3基于相位相关法的图像拼接示例
4.2实验结果分析
此为融合了图片的第一个灰度矩阵,其他两个矩阵可以做类似操作,在此不作演示。
此算法简单准确,能较好的找出相对平移量,图像融合时采用加权平均法,融合后图像比较连续,但是重叠部分融合比较模糊。
5结束语
本文介绍了傅里叶变换的图像拼接方法--相位相关法,通过渐进渐出的加权平均法融合图片,并用matlab进行试验分析,结果还算令人满意。
当图片具有相对平移和尺度变换时,此算法就不太理想。
Reddy.B.S等人在1996年提出了
扩展相位相关法,在图片有相对平移和旋转时,能有效解决此问题
参考文献
[1]L.G.Brown.Asurveyofimageregistrationtechniques[J].ACMComputer
Surveys.1992.4.24325-376.
[2]李会平.图像拼接技术研究与应用[D].西安科技大学硕士学位论文,2010.
[3]宋宝森.全景图像拼接方法研究与实现[D].哈尔滨工程大学硕士学位论文,2012.11.
[4]赵向阳杜利民.一种全自动稳健的图像拼接融合算法[J],中国图象图形学
报.2004.9(4):
417-422
⑸邵向鑫.数字图像拼接核心算法研究[D].吉林大学博士学位论文,2010:
10-15.