19452-电子信息类专业matlab实验教程李明明课件chapter5.pptx

19452-电子信息类专业matlab实验教程李明明课件chapter5.pptx

  1. 1、本文档共117页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5 章MATLAB 在数字图像处理中的应用;【本章知识架构】;5.1 基于FFT 的图像配准; 相位相关技术是配准两幅图像的平移失配的典型方法。相位相关方法依据傅里叶变换的平移性质。平移不影响傅立叶变换的幅值,无论图像沿x 轴还是y 轴平移,或者两个方向都平移,对应的幅值谱和原始图像都是完全一样的。;;; 以上公式中的*表示共轭复数。由式(5-10)可见,由于两幅图像在离散空间域中存在着位移差,反映到频域中仅表现为相位上的差别。而这个相位差与图像间的平移量有直接关系。等式左边为一个??指数,其傅里叶反变换恰好是一个狄拉克函数(空域中经过平移),对其进行处理之后,其最大峰值点恰好位于x d 和y d 处。;3.仿真思路 在图5.1 中,x、y 为配准前原始图像在水平和垂直方向上的平移量; x d 、y d 为通过计算之后待配准图像与原始图像在水平、垂直方向上存在的位移差值。对于本文中的配准方法,语言描述如下。 (1) 配准前的图像准备,首先找到一幅参考图像,并分别对参考图像做3 个方向上的平移(水平、垂直、与水平成45°角)。 (2) 配准中的过程,读入两幅图像,分别为参考图像和待配准图像,调用配准程序算法,求出配准所需要的参数。 (3) 根据步骤(2)中得到的配准参数,对待配准图像进行平移,使得待配准图像恢复为原来的参考图像,从而达到图像的配准。 (4) 参照理论数据,和实验数据进行比较,分析该种算法的性能。;4.程序代码 1) 处理垂直方向配准的程序 im1=imread(‘lena.bmp’); %读入lena 图像,lena 为256*256 的图像 im2=imread(lena7c.jpg); %读入经过垂直移位7 个像素后的lena 图像 subplot(1,2,1),imshow(im1);title(参考图像); subplot(1,2,2),imshow(im2);title(待配准图像); [xtan,ytran,delta] putedelta(im1,im2); %调用配准函数,计算lena7c 与lena 的偏移 a=imread(lena7c.jpg); for j=ytran:ytran+1; for x=1:256; for y=1:256; if (y-j)0; k=y-j+256; else k=y-j+1; end J(k,x)=a(y,x); end end end figure; imshow(J,[]);title(配准后图像); end;;2) 处理水平方向配准的程序 im1=imread(lena.bmp); %读入256*256 的lena 图像 im2=imread(lena7s.jpg); %读入经过水平移位7 个像素后的lena 图像 subplot(1,2,1),imshow(im1);title(参考图像); subplot(1,2,2),imshow(im2);title(待配准图像); [xtan,ytran,delta] putedelta(im1,im2); a=imread(lena7s.jpg); for i=xtan:xtan+1; for y=1:256; for x=1:256; if (x-i)0; k=x-i+256; else k=x-i+1; end J(y,k)=a(y,x); end end end figure; imshow(J,[]);title(配准后图像); end;3) 处理对角线方向配准的程序 %用来处理对角线方向上的配准 function test() im1=imread(lena.bmp); im2=imread(lena77.bmp); subplot(1,2,1),imshow(im1);title(参考图像); subplot(1,2,2),imshow(im2);title(待配准图像); [xtan,ytran,delta] putedelta(im1,im2); a=imread(lena77.bmp); for i=xtan:xtan+1; for y=1:256; for x=1:256; if (x-i)=0; k=x-i+256; else k=x-i+1; end J(y,k)=a(y,x);;end end end for j=ytran:ytran+1; for x=1:256; 256 for y=1:256; if (y-j)0; k=y-j+256; else k=y-j+1; end J1(k,x)=J(y,x); end end end figure; imshow(J1,[]);title(配准后图像); end;4) 配准过程程序 function

文档评论(0)

王子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档