基于MATLAB的图像拼接技术
一、实验名称:基于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;

本文介绍了一种基于相位相关的图像拼接技术,利用MATLAB实现。实验通过傅里叶变换和互功率谱计算找到图像配准,实现超宽视角图像的创建。详细阐述了算法步骤,包括读取图片、转换为灰度、傅里叶变换、平移量计算和图像拼接。
最低0.47元/天 解锁文章
408

被折叠的 条评论
为什么被折叠?



