matlab图像几何变换_第1页
matlab图像几何变换_第2页
matlab图像几何变换_第3页
matlab图像几何变换_第4页
matlab图像几何变换_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学 电图像处理实验报告 实验一:图像几何变换作 者肖剑洪专 业电子科学与技术学 院物理与电子学院指导老师王晓明完成时间2013.12.2实验一 图像几何变换一、实验目的图像几何变换是图像处理与分析的基础内容之一。使学生掌握图像平移、镜像、缩放和旋转等几何变换的方法以及程序实现。二、实验设备联想图像处理工作站三、实验内容及要求图像几何变换不改变图像的像素值,而是改变像素所在的几何位置,具有独特的方法。本实验的内容如下:1学会使用Matlab的图像处理工具箱(Image Processing Toolbox)。使学生初步具备使用该软件处理图像信息能力,并可以利用该软件完成本课程规定的其他实验和作业。2编程实现图像平移,要求平移后的图像大小不变; 3编程实现图像的镜像; 4编程实现图像的比例缩放,要求分别用最近邻插值、双线性插值和双三次插值三种方法来实现,并比较缩放效果;5编程实现以任意角度对图像进行旋转变换。四、实验原理1图像平移从上到下、从左到右依次计算新图像中的每个像素(x, y)在源图像中对应的坐标值(x0, y0); 即: x0 = x x,y0 = y y其中,x、y分别是水平和垂直偏移量。2图像镜像 从上到下、从左到右依次计算新图像中的每个像素(x, y)在源图像中对应的坐标值(x0, y0); 即: x0 = fWidth x,y0 = y水平镜像 x0 = x,y0 = fHeight y垂直镜像其中,fWidth、fHeight分别是图像的宽度和高度。3图像比例缩放图像比例缩放是指将给定的图像在x轴方向按比例缩放倍,在y轴方向按比例缩放倍,从而获得一幅新的图像。从上到下、从左到右依次计算新图像中的每个像素(x, y)在源图像中对应的坐标值(x0, y0);即:x0 = x / fx + 0.5,y0 = y / fy + 0.5其中,fx、fy分别是水平和垂直方向的缩放比率,中括号表示对括号内表达式取整。图像的比例缩放所产生的图像中的像素可能在源图像中找不到相应的像素点,这时就需要进行插值处理,通常可用最近邻插值和双线性插值算法来实现。(1) 最近邻插值对通过反变换得到的浮点坐标进行简单的取整操作,得到一个整数型坐标,这个整数型坐标对应的原图像的像素值就是新图像的像素值。(2)双线性插值对通过反变换得到的浮点坐标,求出此浮点坐标对应原图像四个邻域整数型坐标的灰度值,然后经过双线性插值得到新图像的像素值。() 双三次插值对通过反变换得到的浮点坐标,求出此浮点坐标对应原图像16 个邻域整数型坐标的灰度值,然后经过双三次插值得到新图像的像素值。4图像旋转 一般图像的旋转是以图像的中心为原点,将图像上的所有像素都旋转一个相同的角度。如图所示:新图像坐标与原图像坐标对应关系: 两个常量: 图像旋转之后会出现许多空洞点,须对这些空洞点进行插值处理。可用近邻插值,均值插值算法。五、实验步骤1根据实验内容的要求在Matlab软件中编写相应程序;2调试运行程序,并记录结果;3完成实验报告。六、实验程序清单和实验结果及分析1图像平移I = imread(f:/1.jpg);se = translate(strel(1), 25 25);J = imdilate(I,se);imshow(I), title(Original)figure, imshow(J), title(Translated);2 图像镜像A=imread(f:/1.jpg);height,width,dim=size(A);tform=maketform(affine,-1 0 0;0 1 0;width 0 1);B=imtransform(A,tform,nearest);tform2=maketform(affine,1 0 0;0 -1 0;0 height 1);C=imtransform(A,tform2,nearest);subplot(1,3,1),imshow(A);title(原图像);subplot(1,3,2),imshow(B);title(水平镜像);subplot(1,3,3),imshow(C);title(竖直镜像);3 图像比例缩放T1 = maketform(affine,2 0 0; 0 1 0; 0 0 1);T2 = maketform(affine,1 0 0; 0 2 0; 0 0 1);T3 = maketform(affine,4/5 0 0; 0 3/5 0; 0 0 1); I = imread(f:/1.jpg);I1 = imtransform(I,T1);I2 = imtransform(I,T2);I3 = imtransform(I,T3);imshow(I), figure, imshow(I1), figure, imshow(I2), figure, imshow(I3);4 图像旋转 Image=imread(f:/1.jpg);angle=30;pai=3.14;im1=(Image);subplot(211);imshow(im1);title(1);roteang=angle/180*pai;im1X,im1Y=size(im1);rotmatrix=cos(roteang),-sin(roteang);sin(roteang),cos(roteang);rrotmatrix=cos(-roteang),-sin(-roteang);sin(-roteang),cos(-roteang);im2XY1=im1X,im1Y*rotmatrix;im2XY2=im1X,1*rotmatrix;im2XY3=1,1*rotmatrix;im2XY4=1,im1Y*rotmatrix;im2p11=min(im2XY1(1),im2XY2(1),im2XY3(1),im2XY4(1),min(im2XY1(2),im2XY2(2),im2XY3(2),im2XY4(2);im2X=round(max(im2XY1(1),im2XY2(1),im2XY3(1),im2XY4(1)-im2p11(1);im2Y=round(max(im2XY1(2),im2XY2(2),im2XY3(2),im2XY4(2)-im2p11(2);im2=uint8(zeros(im2X,im2Y)+255;for i=1:im2X for j=1:im2Y pij=round(i+im2p11(1)-1,j+im2p11(2)-1*rrotmatrix); if (pij(1)=1)&(pij(2)=1)&(pij(1)=im1X)&(pij(2)=im1Y) im2(i,j)=im1(pij(1),pij(2); end endend;subpl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论