《数字图像处理图像翻转,平移,缩放》由会员分享,可在线阅读,更多相关《数字图像处理图像翻转,平移,缩放(5页珍藏版)》请在金锄头文库上搜索。
1、学号:学号:Xb09680112 班级:班级:09 通信工程(通信工程(1) 姓名:项德亮姓名:项德亮实验一实验一 图像几何变换图像几何变换一一实验目的实验目的1熟悉 MATLAB 中的图像处理工具箱。2熟悉 MATLAB 中常用的图像处理函数。3掌握图像平移、图像旋转和图像缩放的基本原理与实现方法。二二实验设备实验设备微机三三预习要求预习要求1认真复习课件里的内容,并熟悉教材中第 2 章的内容。2了解 imread()、imshow()、imhist()等函数的使用方法。四四实验内容及步骤实验内容及步骤实验内容:1熟悉 MATLAB 图像处理工具箱的功能及常用的图像处理函数。2打开“Imag
2、e Processing”工具箱里的 Demos,查看“Spatial Transformation”中的第一个例子“Creating a Gallery of Transformed Images” ,把所有源代码拷到一个 m 文件里运行,查看运行结果,给源代码添加注释。然后再改变变换矩阵 T 里面的参数,再查看运行结果。把改变参数后(每位同学可以任意改变)的 m 文件保存为 SpatialTransformation.m。3编程实现图像的平移,平移量应该可调(即用一个向量或两个标量保存平移量),并显示对图像“view”的处理结果。%平移clear;%读入图像imori=imread(vie
3、w.bmp,bmp);imres=imori;m,n=size(imori);tx=60;ty=-40;%平移for i=1:mfor j=1:nif txielseimres(i,j)=255;endendendimshow(imres) %显示结果%显示结果4编程实现图像的缩放,缩放系数可调,分别用两个变量或一个向量保存水平和垂直方向的缩放系数,并显示对图像“view”的处理结果。clc;sx=1.5;sy=2.0;%读入原始图像imageOri=imread(view.bmp,bmp);m,n=size(imageOri);%求变化矩阵s=sx,0,0;0,sy,0;0,0,1;sinv
4、=inv(s);%求变换后的图像大小m1=m*sx; n1=n*sy;m2=floor(m1); n2=floor(n1);imageres=255*ones(m2,n2);%灰度差值for i=1:m2for j=1:n2a=sinv*i,j,1;x=a(1);y=a(2);g(i,j) =ImageBiInterpolate(y,x,imageOri);endend imshow(uint8(g) %输出结果图像5编程实现图像绕图像原点的旋转,并显示对图像“couple”的处理结果。有兴趣的同学可以实现绕任意点的旋转。clc;clear;theta=30;%读入原始图像ImageOri=i
5、mread(view.bmp,bmp);m,n=size(ImageOri);%求变化矩阵r=cos(theta),sin(theta),0;-sin(theta),cos(theta),0;0,0,1;rinv=inv(r);%求变换后的图像大小m1=m; n1=n;m2=floor(m1); n2=floor(n1);imageres=255*ones(m2,n2);%灰度差值for i=1:m2for j=1:n2a=rinv*i,j,1;x=a(1);y=a(2);g(i,j)=ImageBiInterpolate(x,y,ImageOri);endend imshow(uint8(g) %输出结果图像五五实验的心得体会实验的心得体会通过这次实验,我发现 matlab 软件的功能很强大,既能编写程序,完成波形的设计,还可以处理图像的位置,改变图像的大小,旋转图像的角度,学会使用 imread()读取图像,imshow()展示图像,使用 for 语句,完成图像的反复操作,直到得到我们要的图像。