基于matlab的图像拼接论文,基于MATLAB的图像拼接技术实验报告.doc

基于MATLAB的图像拼接技术实验报告

学 院:数信学院

专业班级: 12级信息工程1班

姓名学号:

实验名称:基于MATLAB的图像拼接技术

实验目的:利用图像拼接技术得到超宽视角的图像,用来虚拟实际场景。

实验原理:

基于相位相关的图像拼接技术是一种基于频域的方法,通过求得图像在频域上是相位相关特点来找到特征位置,从而进行图像拼接。其基本原理是基于傅氏功率谱的相关技术。该方法仅利用互功率谱中的相位信息进行图像配准,对图像间的亮度变化不敏感,而且所获得的相关峰尖突出,具有一定的鲁棒性和较高的配准精度。

基于相位相关法进行图像拼接的基本原理如下:假设f(x,y)表示尺寸 为MN的图像,该函数的二维离散傅里叶变换(DFT)为:

其中,F(u,v)是复变函数;u、v是频率变量,u=0,1,…,M-1,v=0,1,…,N-1;x、y是空间或图像变量。

二维离散傅里叶逆变换(IDFT)为:

其中,x=0,1,…,M-1;y=0,1,…,N-1。

设两幅图像、的重叠位置为(,),则图像、的互功率谱为:

其中,*为共轭符号,对上式两边进行傅里叶逆变换将在(,)处产生一个 函数。因此,只要检测上式傅里叶逆变换结果最大值的位置,就可以获得两幅图像间的评议量(,。具体算法步骤如下:

①读入两幅图片、(函数输入),并转换为灰度图像;

②分别对、做二维傅里叶变换,即:

A=() B=()

则通过A、B的简单的矩阵运算得到另一矩阵,即:

=B*.conj(A)/norm(B*.conj(A),1)

矩阵的二维傅里叶逆变换C在(,)处取得最大,可通过遍历比较C(i,j)大小即可找到该位置,并作为函数返回值。

四 实验程序

tic

x=[1 2;0 1];

a=imread('7.jpg'); %读取图片

b=imread('8.jpg');

figure

imshow(a);

figure

imshow(b);

imwrite(b,'160.jpg');

IMG={a,b}; %将图片存为元胞结构

num=size(IMG,2); %计算图片个数

move_ht=0; %累计平移量初值

move_wd=0;

for count=1:num-1

input1=IMG{count}; %读取图象

input11=imresize(rgb2gray(input1),[300,200]); %将图象转为灰度图像

input2=IMG{count+1};

input12=imresize(rgb2gray(input2),[300,200]);

F1=fft2(double(input11)); %二维傅里叶变换

F2=fft2(double(input12));

pdm=exp(1i*(angle(F1)-angle(F2))); %求互功率谱

cps=real(ifft2(pdm)); %傅里叶反变换,取冲激函数的实部

[i1,j1]=find(cps==max(max(cps))); %需找峰值点

HtTrans=i1-1; %得到平移量

WdTrans=j1-1;

if(i1>size(input2,1)/2)

HtTrans=HtTrans-size(cps,1);

end

if(j1>size(input2,2)/2)

WdTrans=WdTrans-size(cps,2);

end

move_ht=HtTrans; %最终平移量

move_wd=WdTrans;

ht=move_ht;wd=move_wd;

move_ht=move_ht+ht; %计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值