




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 *实践教学*理工大学计算机与通信学院2012年秋季学期图像处理综合训练题 目:图像几何变换程序设计 专业班级:姓 名:学 号:指导教师:成 绩:20 / 23目录摘要1一、前言2二、算法分析与描述32.1图象平移32.2图象比例变换32.3图象水平、垂直翻转42.4图象旋转4三、详细设计过程63.1算法分析63.2设计容73.3流程图7四、调试过程中出现的问题与相应解决办法9五、程序运行截图与其说明10六、简单操作手册13设计总结17参考资料18致19附录20摘 要图形图像处理主要是通过计算机对图像进行处理,从而达到预期的那种效果的技术。因为处理离不开计算机,所以又称计算机图像处理。图像几何
2、变换是计算机图像处理中很重要的一部分,主要包括图像的水平、垂直翻转,图像旋转变换,图像比例变换。在图像处理中,可以通过MATLAB来实现图像的几何变换,此软件的语法结构简单,并且具有极强的数值计算、图形文字处理、数据分析、图形绘制与图像处理等功能。关键字:图像的几何变换;MATLAB;图像的旋转;垂直、水平翻转;比例变换一、前言MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以与数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是一种既可交互使用又能解释执行的计算机编程语言。所谓交互使用,是指用户输
3、入一条语句后立即就能得到该语句的计算结果,而无需像C语言那样首先编写源程序,然后对之进行编译,连接,才能最终形成可执行文件。MATLAB语言可以用直观的数学表达式来描述问题,从而避开繁琐的底层编程,因此可大大提高工作效率。图像用数字任意描述像素点、强度和颜色。描述信息文件存储量较大,所描述对象在缩放过程中会损失细节或产生锯齿。在显示方面它是将对象以一定的分辨率分辨以后将每个点的色彩信息以数字化方式呈现,可直接快速在屏幕上显示。分辨率和灰度是影响显示的主要参数。图像适用于表现含有大量细节(如明暗变化、场景复杂、轮廓色彩丰富)的对象,如:照片、绘图等,通过图像软件可进行复杂图像的处理以得到更清晰的
4、图像或产生特殊效果。图像几何变换主要是指数字图像的几何变换(或称为空间变换),即图像中点与点之间的空间映射关系。是通过数学建模实现对数字图象进行几何变换的处理。可以让我们从不同角度去观察或欣赏图片,增加对个方位图像的理解。二、算法分析与描述2.1图象平移图像平移是将一幅图像中所有的点都按照指定的平移量在水平、垂直方向移动,平移后的图像与原图像一样。平移后的图像上的每一点都可以在原图像中找到利用齐次坐标,变换前后图像上的点P0(x0, y0)和P(x, y)之间的关系可以用如下的矩阵变换表示为:2.2图象比例变换图象比例变换是指图象缩小。图象缩小是通过减少像素个数来实现的,根据所期望缩小的尺寸数
5、据,从原图象中选择合适的像素点,使图象缩小之后可以尽量保持原有图像的概貌特征不丢失。以图象缩小为例设原图像大小为M*N,缩小为k1M*k2N,(k1<1,k2<1)。算法步骤如下:(1)设原图为F(i,j),i=1,2,M;j=1,2,N.压缩后图像是G(x,y), x=1,2,k1M, y=1,2,k2N.其中,c1=1/k1 c2=1/k2为采样间隔(2)G(x,y)=F(c1*x,c2*y)2.3图象水平、垂直翻转图像的水平翻转操作是以原图像的垂直中轴线为中心,将图像分为左右两部分对称变换;图像的垂直镜像操作是以原图的水平中轴线为中心,将图像分为上限两部分对称变换。翻转后的高
6、和宽都不变。设图像高度为Height,宽度为Width,原图中的(,)经过水平翻转后坐标将变为(Width-,)即同样,(,)经过垂直翻转后坐标将变成为(,Width-),即2.4图象旋转图像的旋转是指以图像中的某一点为原点以逆时针或顺时针方向旋转一定的角度。通常是围绕图像的起始点以逆时针旋转。这样,就可以利用解析几何的方法来实现图像的旋转。 (,) 直角坐标系中的图像旋转 (,)图像旋转计算公式如下:图2.1图像旋转示意图其中,是原图像中的像素的坐标;是对应像素点经过旋转变换后图像的像素的像素点坐标。图像旋转以后会出现空穴的现象,可以用插值法来解决。所谓插值法就是在判断为空穴的位置上填充一个
7、估计的值。因为估计值的选择不同,得到的方法的复杂度和效果也不同,在这里用的是均值插值法。均值插值法是将空穴像素周围像素的均值作为填充值填在该空穴点中,如:其空穴像素点为的周围(上、下、左、右)的像素值为,则该点的像素值,即。三、详细设计过程3.1算法分析本课程设计通过菜单和按钮的方式来对图片进行各种几何变换,操作简单,处理结果一目了然。系统具备良好的图形用户界面,通过按钮或菜单进行操作控制,能让用户方便地选择不同的图像文件进行处理,并显示图像处理的结果。利用菜单按钮与简介的版块设计实现各功能的处理结果与操作方式。介绍图片处理按钮菜单的功能。主界面设计如下: 图(1)主界面3.2设计容图像的几何
8、变换:平移,缩放,翻转,旋转。1平移:平移是日常生活中最普遍的运动方式,而图像的平移是几何变换这中最简单的变换之一。菜单中使用 translate函数和movesult对图像进行平移,通过改变程序中的参数可以控制平移的方式,视需求而定。2翻转:实现水平,垂直,翻转处理,双精度取点后调用函数实现。3缩放与旋转变换:利用'nearest' 'bilinear' 'bicubic'三个函数实现图片的三种缩放与旋转处理。利用imresize和imrotate两个函数实现缩放与旋转功能 。3.3流程图(1)翻转图(2)翻转流程图(2)缩放与旋转 图(3)缩
9、放与旋转四、调试过程中出现的问题与相应解决办法对matlab函数调用不够熟悉,导致在设计的时候陷入很多误区。比如,平移变换的方法二总是指示错误,后来几经调试,才排除错误,得到正确的结果。还有提高部分的努力也是一样。本次课程设计主要是运用了上课所学的知识与Matlab的强大函数调用功能,不足之处甚多,但是本次的设计中我们也有少许的创新之处,比如,Matlab参数录入子程序就是小组自己编写的,花了很多功夫收集资料以与改进。五、程序运行截图与其说明(1)未经处理的原图 图(4)原图(2)图像进行平移变换: 图(5)平移后的结果(3)水平翻转: 图(6)水平翻转(4)垂直翻转: 图(7)垂直翻转(5)
10、旋转 图(8)旋转45度六、简单操作手册在matlab中打开kk.fig并运行,在打开的图形界面中单击:文件->打开,选中所要处理的图片,打开。选择所要进行的变换方式,进行变换,打开图片界面图(9) 操作界面 平移效果: 图(10) 图(11)放大、缩小: 图(12)图(13)双线性插法放大2倍水平翻转: 图(14)水平翻转垂直翻转: 图(15)垂直翻转旋转: 图(16) 图(17)图像旋转100度(截取部分)撤销、退出:“撤销”可以实现图像的还原,“退出”可以退出编辑 图(18)设计总结通过这次“基于matlab的数字图像处理”的课程设计,学到了很多很多,最基本的就是重新熟悉了matl
11、ab语言,不仅仅只是在matlab编程上面有所提高和对界面设计熟悉,对数字图像处理也有了更深刻的认识。首先,明白了图像对于matlab而言就是矩阵,灰度图像和彩色图像对应于不同维数的矩阵,分别为二维和三维,其中三维矩阵每一位代表一种颜色。矩阵可以使实数,也可以使复数,不同的图像矩阵的元素对应于不同的类型,有double,uint8等类型。由于几乎所有的matlab函数与其工具箱函数都可以使用double作为参数类型,不过由于64bit来表示图像数据存储量特别巨大,所以matlab还支持图像数据的无符号整型存储,所以使用时还要注意输出数据类型的转换。最后,我们必须要明白理论指导实践,要想实现预期
12、的效果,必须明白它实现的机制和相应的算法,只有通过相应的理论来指导,我们才能有所创新,才能有所突破,而不只是单纯的引用相应的处理函数。例如对于截图函数,它只能是截取坐标轴的图像,对坐标轴意外的图像却不能处理,而且对于同时显示在坐标轴上的几图像,它只能处理最后显示的那,如果我们通过对它改进,能实现像 截图那样的功能就很强大了。不过通过这次的实现,我对图像的模式,几何变换的原理,图像的平移,水平、垂直翻转,缩放以与旋转等原理都有了更清楚的认识,也明白了它们的实现机制。matlab还有很多很多新功能等待我们去探索。通过这次的课程设计,我们受益匪浅。参考资料1阿奇,戈,阳.MATLAB实用教程M.:电
13、子工业2002年版2弘.数字图像处理与分析M.:机械工业 2005年版3兆林.MATLAB 6.X图像处理M.:清华大学 2010年版致通过此次课程设计,在一定程度上提高了我的实际动手能力,同时也培养了我思考问题、解决问题的能力。对于matlab软件的应用能力也得到了很大的提高,了解到了很多自己有所不足的地方。虽然只有短短的两周时间,但是这使我认识到了做设计的乐趣,也明白了课程设计对于知识的吸收和要点的理解是非常重要,在两周的时间里,遇到了很多问题,周围同学和老师的帮助起了很大的作用,非常感他们,充分体会到了团队合作的重要性。附录Matlab程序实现代码(1)图片的平移平移axes(handl
14、es.axes2); %定义图像显示位置 I=handles.img;%选定操作图 T=getimage;%获取图像信息 prompt='输入参数:' defans='2' p=inputdlg(prompt,'input',1,defans); %创建数据输入窗口 p1=str2num(p1); J = double(I);%定义为双精度型 H = size(I);%定义尺寸I_moveresult = zeros(H);%平移后背景变成了黑色的 x_move =p1; y_move =p1;I_moveresult(x_move+1:H(1)
15、,y_move+1:H(2),1:H(3)= J(1:H(1)-x_move,1:H(2)-y_move,1:H(3); imshow(mat2gray(I_moveresult);(2)图片的放大、缩小缩放axes(handles.axes2); %定义图像显示位置; I=handles.img; %选定操作图T=getimage; %获取图像信息 prompt='输入参数:' defans='2'%定义数据,放大缩小 p=inputdlg(prompt,'input',1,defans);%创建数据输入窗口 p1=str2num(p1);f=
16、imresize(I,p1,'nearest'); %选用插值方法最近邻法figure,%新建窗口imshow(f);%显示结果(3)图片翻转水平翻转axes(handles.axes2); %定义图像显示位置; A1=handles.img; %选定操作图 A1=double(A1);%定义为双精度型 H=size(A1);%定义尺寸A3(1:H(1),1:H(2),1:H(3)=A1(1:H(1),H(2):-1:1,1:H(3);%水平翻转imshow(uint8(A3);%显示结果垂直翻转axes(handles.axes2); %定义图像显示位置; A1=handles.img; %选定操作图 A1=double(A1); %定义为双精度型 H=size(A1); %定义尺寸A2(1:H(1),1:H(2),1:H(3)=A1(H(1):-1:1,1:H(2),1:H(3);%垂直翻转imshow(uint8(A2); %显示结果(4)图片的旋转旋转axes(handles.axes2); %定义图像显示位置;T=getimage; %获取图像信息prompt='旋转角度:'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度海洋旅游租赁与海洋资源保护协议
- 二零二五年度股东分红条件与退出机制协议书
- 2025年度洗浴中心租赁及品牌授权合作协议
- 二零二五年度房地产项目税收筹划代理房地产代理商合作协议
- 二零二五年度农业现代化抵押借款合同
- 二零二五年度金融服务平台股东入股合同
- 2025年度离婚后子女权益保障全面协议
- 二零二五年度兼职文案策划劳动合同书
- 2025年度矿山开采专用吊车租赁协议书
- 二零二五年度市场拓展合伙人保密协议
- 幼儿园大班社会《爱的密码》课件
- 焊接工艺评定方案
- 6 第六课 《寻光机器人》 教学设计2023-2024学年小学信息技术五年级下册
- 2024至2030年中国对苯二甲酰氯行业市场发展调研及投资方向分析报告
- 2024年中考语文名著阅读《经典常谈》知识梳理+专项训练解析版
- 2024至2030年中国女装行业市场发展监测及投资前景展望报告
- YYT 0657-2017 医用离心机行业标准
- 2024全新母子断绝关系的协议书下载
- 汉乐府两首之《上邪》课件
- 古希腊文明-知到答案、智慧树答案
- 人教版小学数学五年级下册第三单元《长方体和正方体》作业设计
评论
0/150
提交评论