预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验二图像的几何变换 一.实验目的及要求 掌握图像几何变换的基本原理,熟练掌握数字图像的缩放、旋转、平移、镜像和转置的基本原理及其MATLAB编程实现方法。 二、实验设备 1.计算机; 2.MATLAB6.5; 三、实验内容及结果 (一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。 1.图像缩放 分析:imresize函数功能:用于对图像做缩放处理 J1=imresize(I,Scale,'nearest')即将图像I,采用最近邻插值算法,放大(缩小)Scale倍。 J2=imresize(I,Scale,'bilinear')即将图像I,采用双线性插值算法,放大(缩小)Scale倍。 通过改变Scale的大小,可以观察到生成的图像大小随之改变,且放大倍数越大,图像变得越模糊。 在放大相同倍数的情况下,可以观察到采用双线性插值算法的图像更为清晰。 2.图像旋转 分析:imrotate函数功能:用于对图像做旋转处理 J1=imrotate(I,Theta,'nearest')即将图像I,采用最近邻插值算法,绕图像的中心点旋转Theta度,正数表示逆时针旋转,负数表示顺时针旋转,旋转后的图像超出的部分填充0(黑色)。 J2=imrotate(I,Theta,'bilinear','crop')功能同上,不同的是采用了双线性插值算法,'crop'表示通过对旋转后的图像进行裁剪,保持旋转后输出图像的尺寸和输入图像的尺寸一样。 通过改变Theta的大小,可以观察到生成的图像旋转角度随之改变,同时,采用双线性插值算法的图像更为清晰。 3.图像水平镜象 分析:flipdim(X,dim),其中X表示一个矩阵,dim指定翻转方式,dim为1,表示按行翻转,2表示按列翻转。 I1=flipdim(I,2)即得到图像I的水平镜像 I2=flipdim(I,1)即得到图像I的垂直镜像 (二)用MATLAB编程实现以下图像几何变换 1.图像平移 原理:图像平移即将一幅图像上所有的点都按照给定的偏移量在水平方向沿x轴,在垂直方向沿y轴移动。 设点A0(x0,y0)进行平移后到A(x,y),其中x方向的平移量为∆x,y方向的平移量为∆y,那么A(x,y)的坐标为: 即 对应的逆变换为:即 clearall,closeall I=imread('cameraman.tif'); L1=50; L2=50; H=size(I); a=1:H(1)-L1; b=1:H(2)-L2; a1=L1+1:H(1); b1=L2+1:H(2); I1(a1,b1)=I(a,b); figure(1),imshow(I),title('OriginalImage'); figure(2),imshow(I1),title('NewImage'); 2.图像转置 原理:图像的转置是将给定图像像素的x坐标和y坐标互换的几何变换,设点P0(x0,y0)转置后的对应点为P(x,y),转置变换可表述为: 或,对应的逆变换为:或 转置后图像的宽、高发生改变,即输出图像的高度为原始图像的宽度,输出图像的宽度为原始图像的高度。 clearall,closeall I=imread('moon.tif'); I1=I'; subplot(3,4,[159]),imshow(I),title('OriginalImage'); subplot(3,4,[678]),imshow(I1),title('NewImage'); 四.实验总结 本次实验主要对图像的几何变换知识通过matlab进行练习,加深了理解。图像的几何变换包括图像的缩放,旋转,平移,镜像以及剪切等运算,通过几何变换,图像的像素值会发生变化。在做实验之前,一定要先复习一下相关知识,这样做起来效率更高,也更有益于复习巩固。