Matlab图形界面图像的旋转平移和缩放
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab图形界面图像的旋转、平移和缩放
姓名:
班级:
学号:
目录
问题描述 (2)
摘要 (2)
正文 (3)
1、界面设计 (3)
2、打开图片功能 (4)
3、实现图片的任意角度的旋转 (5)
4、图像的平移 (8)
5、图像的缩放(放大与缩小) (12)
实验心得 (16)
附录: (16)
Matlab图形界面操作
------图像的旋转、平移和缩放
问题描述
期末运用学习的matlab知识通过图形用户界面对图片进行操作,实现如下功能。
●能够查找和读取计算机中存储图像。
●实现图像的旋转、平移、缩放等几何变换。
●通过matlab界面功能实现界面的完美布局。
●编写代码和回调函数实现上述功能。
摘要
本次任务旨在完成以下几个任务:
●整体分为四大模块:原图、旋转、平移和缩放。
●利用数字图像处理技术,以MATLAB为平台,建立一个实现设计主题的
简易处理系统。
●能显示输入图像、输出图像。
●程序代码要有注释说明,调用MATLAB函数要清楚并理解函数的功能、
使用范围,在设计说明书中要写清楚函数的功能和参数意义。
●完成自己课程设计说明书。
正文
1、界面设计
(1)在MATLAB命令窗口中输入“guide”,确定后,弹出GUI窗口。
(2)本次设计中,包含两个坐标轴(axes1、axes2),分别显示原图和处理后的图像。包含六个按钮(Push Button),分别实现“打开图片、保存处理后的图片、旋转、平移、放大、缩小以及退出功能”。
(3)旋转功能同时可以实现选择0—360度任意的度数,当选择不同的度数后,axes2位置就会显示不同选择角度的图片。如果需要保存该图片可以单击保存按钮进行保存。
(4)平移功能的实现,当单击平移按钮,可以有一个默认的平移位置。在设计中预设了几个固定位置,可以选择,分别是X单位Y单位方向都可以选择。达到平移的目的。
(5)放大和缩小功能类似,在界面上表现为选择不同的数据,反映出来不同大小的图片。
(6)操作完成后,点击退出功能,将询问是否退出,如果退出则点击“是”,不退出点击“我还要看看”。
2、打开图片功能
进入程序界面后,要实现几何操作,需要先打开一张图片。单击打开图片按钮,可以选择图片路径,从存储图片的地址任意旋转一张图片,图片就会显示在axes1的位置。效果如2-1所示:
图2-1
如果想再打开一张图片进行操作,可以再次单击“打开图片”按钮进行操作,效果如图2-2所示:
图2-2
3、实现图片的任意角度的旋转
该功能回调函数使用的是imrotate函数,其调用格式如下所示:
(1)函数说明及参数选择
I0=imrotate(loadImage,value);I0是处理后的图片。loadImage是定义的全局变量,当打开图片后,将新图片的值赋予该变量。Value值是传递过来的度数值。
(2)问题分析
如果value值是一个定值,在实现旋转功能时,仅能在一个位置,通过优化,实现任意角度旋转。
(3)运用的函数和方法
旋转功能涉及imrotate以及imshow函数,详细方法参考源代码。
(4)实验结果
点击旋转按钮,默认值为180度,效果如图3-1所示:
图3-1(旋转180度)
拖动滑动条,选择其他角度,实现旋转功能。旋转72度效果如图3-2所示:
图3-2(旋转72度)
旋转0度即不进行旋转,效果如图3-3所示:
图3-3(旋转0度)
通过验证,随意拖动滑动条,均可以正常显示,如图4-4所示:
图3-4
更换其他图片实现旋转功能,效果图3-5所示:
图3-5
(5)结果分析:
一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。旋转后图像的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。图像的旋转变换也可以用矩阵变换来表示。
4、图像的平移
(1)问题分析:
图像平移是将一幅图像中所有的点都按照指定的平移量在水平、垂直方向移动,平移后的图像与原图像相同。平移后的图像上的每一点都可以在原图像中找到。
(2)实验方法:
设(x0,y0)为原图像上的一点,图像水平平移量△X,垂直平移量为△Y,则平移后点(x0,y0)的坐标变为(x1,y1)。(x0,y0)与(x1,y1)之间的关系为:x1=x0+△x;y1=y0+△y。该功能可以通过函数translate函数实现。关键代码se=translate(strel(1),[100 -100]); strel(1)表示图像不变,进行[Y X]方向的平移,se是设置的图像平移的距离。平移变量的旋转通过switch来判断并进行传递。
(3)实验结果:
平移量为(-100,-100)时,效果如图4-1所示:
图4-1
平移量为(-50,-100)时,效果如图4-2所示:
图4-2
平移量为(0,-100)时,效果如图4-3所示:
图4-3
平移量为(-50,-100)时,效果如图4-4所示:
图4-4
平移量为(100,0)时,效果如图4-5所示:
图4-5
平移量为(100,100)时,效果如图4-6所示:
图4-6
更换其他图片进行平移操作,效果如图4-7: