欢迎来到天天文库
浏览记录
ID:14039791
大小:483.50 KB
页数:7页
时间:2018-07-25
《matlab实现多种图像配准》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Matlab实现多种图像配准本文讲述如何利用MatlabImageProcessingToolbox中的图像配准工具实现线性正投影、仿射、投影、多项式、分段线性、局部加权平均配准的过程。实验平台X86PC,WindowsXPsp2,Matlab7.1资源的获取图片资源来自http://vision.ece.ucsb.edu/registration/satellite/testimag.html,其中每个压缩包里存有两副图片,每副图片以矩阵形式保存。matlab工具的使用方法:查看帮助mageProcess
2、ingToolboxUser'sGuide——Imageregistration。涉及配准方法简介该工具箱提供的配准方法均需手工选择图像间的匹配点对(controlpointspair),均属于交互配准方法。其基本过程为:读入图像数据->在两副图像上选择足够匹配点->选择配准算法,计算变换参数->变换图像。假设inputimage(输入图像)为欲进行配准的图像,baseimage为配准是的参考图像。以下是我参考matlab帮助给出了简介。1.线性正投影(linearconformal):最简单。平面映射成平
3、面。当输入输入图像与参考图像对比,只是存在全局的平移、旋转、缩放或其三者组合的差别时(正方形仍对应正方形),选择此配准方法。此方法至少需要2对匹配点。2.仿射(affine):将平行线转换成平行线。当输入图像形状存在切变现象(正方形对应平行四边形),选此法。至少需3对匹配点。3.投影(projective):将直线映射成直线。如果输入图像呈现倾斜,翘起现象,选此法。至少需4对匹配点。4.多项式(polynomial):将直线映射成曲线。如果输入图像出现不规则曲变,采用此法。Matlab中提供有2、3、4次幂
4、的实现,分别至少需要6,10,10对匹配点。5.分段线性(piecewiselinear)如果输入图像的各个局部之间的退化模式明显不一样,选此法。至少需要4对匹配点。6.局部加权平均(localweightedmean)与分段线性一致,但效果较之好。至少需要6对(推荐12对)匹配点。实验步骤1.读取图像数据。因为源图像以矩阵形式存在一个二进制的文件里,用fread可将其读取到变量矩阵中。将读取文件编制成一个子函数(RTIread.m),源代码如下:functionimMatrix=RTIread(FILEN
5、AME,SIZE)%RTIreadReadtheimagematrixfrombinary"RegistrationTestImage"file.%imMatrix=RTIread(FILENAME,SIZE)opensthefileFILENAME,andreadsthe%numberofelementsspecifiedbySIZE.%%FILENAMEisastringcontainingthenameofthefiletobeopened.%ValidentriesforSIZEare:%Nread
6、Nelementsintoacolumnvector.%infreadtotheendofthefile.%[M,N]readelementstofillanM-by-Nmatrix,incolumnorder.%Ncanbeinf,butMcan't.%%Itreturnstheimagematrix.fid=fopen(FILENAME,'r');imMatrix=fread(fid,SIZE,'uint8=>uint8');fclose(fid);%image(imMatrix);这里我们选取了两张6
7、00×600的图片,文件名为“casitas84”和“casitas86”。运行以下代码读取图像矩阵:%1.ReadtheimagesintotheMATLABworkspace.base=RTIread('casitas84',[600,600]);input=RTIread('casitas86',[600,600]);2.选取匹配点(controlpoints)。根据预定的配准方法,选定足够的匹配点对。运行下列代码:%2.Specifycontrolpointpairsntheimagesandsav
8、e.cpselect(input,base);%pleaseselect15pointsfortest.出现GUI界面。操作很简单,只需注意选点要均匀布开,以增加其代表性。选定完毕,File->SavePointstoWorkspace将数据保存到工作区中。Workspace立刻多出两个N×2的数组(其中N为选定的匹配点对数),分别为input_points和base_points,如:input_points=
此文档下载收益归作者所有