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

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业燕山大学课 程 设 计 说 明 书题目: 图像的几何变换的设计及实现 学院(系): 年级专业: 学 号: 学生姓名: 指导教师: 教师职称: 燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:自动化仪表系 学 号学生姓名专业(班级)08仪表1班设计题目图像的几何变换的设计及实现设计技术参数理解图像几何变换的原理。实现图像的平移、缩放,和旋转、倒置,镜像等几何变换。并能实现图像围绕任一点旋转。设计要求几何变换包括图像的平移、缩放,和旋转、倒置,镜像等,是

2、数字图像识别处理的预处理,总结并实现图像的几何变换,最好做成函数形式,通过函数调用实现相应变换。设计中应具有自己的设计思想、设计体会。工作量5天(6月20日到6月25日)工作计划6月20日:查找资料,学习Matlab的使用6月21日、22日:按照设计要求编写程序6月23日、24日:调试 运行程序6月25日:完成答辩参考资料1、数字图像处理学 电子工业出版社 贾永红 20032、数字图像处理(Matlab版) 电子工业出版社 冈萨雷斯 20063、其他数字图像处理和matlab编程方面的书籍及相关学习资料指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份

3、。年 月 日 燕山大学课程设计评审意见表指导教师评语:成绩: 指导教师: 2011年 6月 25 日答辩小组评语: 成绩: 评阅人: 2011年 6月 25 日课程设计总成绩:答辩小组成员签字: 赵彦涛、程淑红、林洪斌2011年 6月 25 日目录第一章 摘要 1第二章 基本原理 2 21 MATLAB的介绍 2 22图像平移的基本理论2 23图像放缩的基本理论2 24图像旋转的基本理论4 25图像镜像的基本理论7第三章 程序设计 831实现图像的平移 8 32实现图像的放缩 9 33实现图像的旋转 11 34实现图像的镜像 12第四章 学习心得 15参考文献 16 第一章 摘要数字图像处理(

4、Digital Image Processing)是通过计算机对图像进行系列操作,从而达到某种预期目的的技术。数字图像处理离不开计算机,因此又称为计算机图像处理。图像几何变换是计算机图像处理领域中的一个重要组成部分,也是值得深讨的一个重要课题。在图像几何变换中主要包括图像的放缩、图像的旋转、图像的移动、图像的镜像、图像的块操作等内容,几何变换不改变图像的像素值,只改变像素所在的几何位置。从广义上说,图像是自然界景物的客观反映,是人类认识世界和人类本身的重要源泉。图像对我们并不陌生。我们生活在一个信息时代,科学研究和统计表明,人类从外界获得的信息约有75%来自视觉系统,也就是从图像中获得的。所以

5、对数字图像的处理便显得尤为重要了。我们在处理图像时往往会遇到要对图像进行几何变换的一些问题。图像几何变换是我们学习和讨论的一个重要课题。在图像几何变换中主要包括图像的缩放、旋转、移动、减取等内容。其中使用最频繁的是图像的缩放和旋转,不论照片、图画、书报还是医学X光和卫星遥感图像都会用到这两项技术。本文主要深讨了图像的几何变换(主要包括图像的平移、缩放、旋转、镜像等)理论,并在此基础上用MATLAB实现的过程。MATLAB语法结构简单,并且具有极强的数值计算、图形文字处理、数据分析、图形绘制及图像处理等功能,在本文中我用MATLAB实现了图像的平移、放缩、旋转和镜像。关键字:图像处理;几何变换;

6、MATLAB;函数调用第二章 基本原理21 MATLAB的介绍MATLAB是美国Mathworks公司开发的新一代科学计算软件:MATLAB是英文MATtrix LABoratory(矩阵实验室)的缩写;MATLAB是一个专门为科学计算而设计的可视化计算器。利用这个计算器中的简单命令,能快速完成其他高级语言只有通过复杂方案才能实现的数值计算和图形显示。MATLAB是一种既可交互使用又能解释执行的计算机编程语言。所谓交互使用,是指用户输入一条语句后立即就能得到该语句的计算结果,而无需像C语言那样首先编写源程序,然后对之进行编译,连接,才能最终形成可执行文件。MATLAB语言可以用直观的数学表达式

7、来描述问题,从而避开繁琐的底层编程,因此可大大提高工作效率。MATLAB是解决工程技术问题的技术平台。利用它能够轻松完成复杂的数值计算,数据分析,符号计算和数据可视化等任务。MATLAB软件由主包和各类工具箱构成。其中,主包基本是一个用C/C+等语言编写成的函数库。该函数库提供矩阵(或数组)的各种算法以及建立在此基础上的各种应用函数和一些相关的用户有好操作界面。而工具箱从深度和广度上大大扩展了MATLAB主包的功能和应用领域。随着自身的不断完善和发展,MATLAB功能越来越强大,而且应用的范围也越来越广。22图像平移的基本理论图像平移是将一幅图像中所有的点都按照指定的平移量在水平、垂直方向移动

8、,平移后的图像与原图像相同。平移后的图像上的每一点都可以在原图像中找到对应的点。Dx2 , Dy y=-1利用齐次坐标,变换前后图像上的点P0(x0, y0)和P(x, y)之间的关系可以用如下的矩阵变换表示为: 23图像缩放的基本理论图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴方向上按比例缩放fy倍,从而获得一幅新的图像。比例缩放前后两点P0(x0, y0)、P(x, y)之间的关系用矩阵形式可以表示为: x=fx x0y=fy y0MATLAB 图像处理工具箱中的函数im resiz e 可以对图像进行插值缩放, 如果不指定插值方法, 则默认使用最近邻插值法。im res

9、iz e 函数的语法格式为:B = im resiz e (A ,m ,m ethod )这里参数m ethod 用于指定插值的方法, 可选的值为nea rest (最近邻法) , bilinea r (双线形插值) 及bicubic(双三次插值) , 默认值为nea rest。B = im resiz e (A ,m ,m ethod ) 返回原图A 的m 倍放大图像(m 小于1 时效果是缩小)。图像的缩放操作将会改变图像的大小,产生的图像中的像素可能在原图中找不到相应的像素点,这样就必须进行近似处理。一般的方法是直接赋值为和它最相近的像素值,也可以通过一些插值算法来计算。下面的代码直接采用

10、了前一种做法。24图像旋转的基本理论图像的旋转实际上是坐标系的旋转,下图给出了图像转的原理示意图。旋转是指将图像中所有的像素(基准点除外)按给定角度在XY平面内顺时针或逆时针方向沿圆弧路径进行变换的过程。当基准点为原点时,原始点(x0, y0)和变换后对应点(x, y)的角度和坐标关系如下图所示。x=rCos( -a )=rCos Cos a +rSin Sin a =x0Cos a +y0Sin ay=rSin( a )=rSin Cos a rCos Sin a =-x0Sin a +y0Cos ayOxP0(x0,y0)P (x,y)r旋转前:x0=rCos y0=rSin旋转后: 图像

11、的旋转变换也可以用矩阵变换表示。上式写成矩阵表达式为: 上述旋转是以坐标原点(0,0)为基点进行的,但在实际应用中,往往是一图像中心为基点对图像进行旋转。具体操作是:先将坐标系平移到图像中心,再进行旋转,然后平移回原始坐标原点。在对数字图像进行旋转的时候, 各象素的坐标将会发生变化, 使得旋转之后不能正好落在整数坐标处,因此,需要进行插值。一般来说, 旋转后的图像会比原图大, 超出原图像的部分值为0。在二维变换中,点P0旋转到点P1,可以通过矩阵变化计算得出。由于有浮点计算带来的误差,P1点在某些时候会落在预期坐标的附近,而带来图形部分轻微的失真。在工具箱中的函数im rota te 可用来对

12、图像进行插值旋转, 默认的插值方法也是最近邻插值法。Im rota te 的语法格式为:B = im rota te (A , ang le,m ethod )函数im rota te 对图像进行旋转, 参数m ethod 用于指定插值的方法, 可选的值为nea rest (最近邻法) ,bilinea r (双线形冲值) 及bicubic (双三次插值) , 默认值为nea rest。im rota te 函数可把源图像以其几何中心为轴旋转任意A角后显示, 并得到相应矩阵。旋转后的图像相当于用一矩形把旋转后的图像内接起来, 四个角填充以黑色。25图像镜像的基本理论两个入口参数:原图像,镜像方

13、式初始化获取原图像行列数M、N扫描新图像,计算对应原图像坐标判断镜像方式x0=x; y0=M-y+1x0=N-x+1; y0=M-y+1x0=N-x+1;y0=y结束垂直镜像水平镜像水平垂直镜像图像镜像算法流程图对新图像进行赋值第三章 程序设计31图像的平移311平移的程序1、用程序实现图像的平移i=imread(Sailboat256G.bmp);imshow(i);m0 n0=size(i);%处理后图像初始化for y=1:n0; for x=1:m0; x0=x-0; y0=y-40; if x0=1&x0=1&y0=1&x0=1&y0=1&y0=1&x0=1&x0=1&y0=n0;I

14、(x0,y0)=i(x,y);end endendimshow(I,);342镜像的图像第四章 学习心得转眼间,为期一周的课设就这样结束了。在这一周的时间里,我过得非常充实,也很受益匪浅,看到自己完成了任务心里很开心,对原来学会、过的数字图像处理这门课程有了更深一步的认识。我明白了学习理论知识和实际应用是两个不同的层面,光懂得理论知识是远远步够的。在这几天里,我们小组通过查阅各种书籍、资料,与一起讨论研究,得到了我们所要的结果,让我更体会到了团队一起学习的高效性和重要性。同时也让我对数字图像处理有了更高一层次的认识。并且在老师的帮助下,我学会了使用Matble编写简单的程序来实现数字图像的几何变换,包括了基础知识的积累、理论的成型、MATLAB语言编写和程序的使用、理论过程的MATLAB程序实现,和期间程序的不断编写和调试,可以说让我对于MATLAB的数字图像处理整个过程都有了一个很完整和客观的认识,并在参与其中的程序编写和实现中积累了非常宝贵的经验。通过这次课程设计让我认识到了自己很多的不足,对学

温馨提示

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

评论

0/150

提交评论