编程实现一幅图像的平移、镜像、旋转、缩小和放大。

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计任务书学生姓名:zhh专业班级:通信1002班指导教师:徐文君工作单位:信息工程学院题目:通信工程应用技术综合训练与实习初始条件:1.数字图像处理课程相关知识。2.Matlab软件的软件编程应用与仿真。要求完成的主要任务:任务:编程实现一幅图像的平移、镜像、旋转、缩小和放大。要求:1.给出所用算法的理论依据和必要的推导过程。2.给出原始图像和处理后的图像。时间安排:序号设计内容所用时间1根据设计任务确定实验方案2天2根据实验条件进行电路的测试,并对结果进行分析7天3撰写课程设计报告1天合计2周指导教师签名:年月日系主任签名:年月日武汉理工大学《通信工程应用技术综合训练与实习》课程设计说明书I目录摘要..................................................................................IAbstract.............................................................................II1图像的几何变换.......................................................................11.1图像几何变换内容...............................................................11.2Matlab仿真使用的主要函数......................................................12图像的平移变换.......................................................................32.1图像平移变换原理...............................................................32.2图像平移变换的matlab实现......................................................33图像的镜像变换.......................................................................43.1图像镜像变换原理...............................................................53.2图像镜像变换的matlab实现......................................................64图像的旋转变换.......................................................................64.1图像旋转变换原理...............................................................74.2图像旋转变换的matlab实现......................................................85图像的比例变换......................................................错误!未定义书签。5.1图像比例变换原理.............................................................105.2图像比例变换的matlab实现....................................................106心得体会...........................................................................14参考文献.............................................................................15附录.................................................................................16武汉理工大学《通信工程应用技术综合训练与实习》课程设计说明书I摘要图像是对三维实际景物的平面投影,图形图像处理主要是通过计算机对图像进行处理,从而达到预期的效果的技术。为了观测需要,常常需要进行各种不同的几何变换,主要包括图像的平移变换,图像水平、垂直镜像变换,图像旋转变换,图像比例变换。实际上,几何变换不改变像素值,而是改变像素所在的位置。在图像处理中,可以通过Matlab来实现图像的几何变换,此软件的语法结构简单,并且具有极强的数值计算、图形文字处理、数据分析、图形绘制及图像处理等功能。本次课程设计即是利用Matlab软件编程实现对图像的几何变换。关键字:图像平移、图像镜像变换、图像旋转、图像比例变换、Matlab武汉理工大学《通信工程应用技术综合训练与实习》课程设计说明书IIAbstractImageplaneprojectionof3Dsceneisactual,graphicimageprocessing,mainlyforimageprocessingbycomputer,soastoachievetheexpectedeffectoftechnology.Inordertoobservation,oftenrequireavarietyofgeometrictransformations,includingtheimagetranslation,imagelevel,verticalimagetransform,imagerotation,imagescaling.Infact,thegeometrictransformationdoesnotchangethepixelvalue,butthechangeofpixellocation.Inimageprocessing,canbeachievedbytheMatlabimagegeometrictransformation,thegrammaticalstructureofthissoftwareissimple,andhasstrongnumericalcalculation,graphicsandtextprocessing,dataanalysis,graphicsrenderingandimageprocessingetc..ThecurriculumdesignistheuseofMatlabsoftwareprogrammingofgeometrictransformationofimage.Keywords:imagetranslation,mirrorimagetransform,imagerotation,imagescaling,Matlab武汉理工大学《通信工程应用技术综合训练与实习》课程设计说明书11图像的几何变换1.1图像几何变换内容图像几何变换又称为空间变换,是将一幅图像中的坐标位置映射到另外一幅图像中的新坐标位置。它不改变图像的像素值,只是在图像平面上进行像素的重新安排。通过几何变换,可以根据应用的需要使原图像产生大小、形状和位置等各方面的变化。也就是说,几何变换可以改变像素点所在的几何位置以及图像中各物体之间的空间位置关系,这种运算可以被看成是将各物体在图像内移动,特别是图像具有一定的规律性时,一个图像可以由另一个图像通过做几何变换来产生。几何变换可以分为图像的位置变换(平移、镜像、旋转)、形状变换(放大、缩小和剪切)以及图像的复合变换。图像几何变换的一般表达式为:(1.1)其中(x,y)表示像素点的坐标位置,f(x,y)表示图像像素点(x,y)的灰度值。图像几何变换就是建立一幅图像与其变换后的图像中所有各点之间的映射关系。1.2Matlab仿真使用的主要函数本次课程设计将利用Matlab实现图像的几何变换,使用到的主要函数有:(1)imread用于读入图像文件,语法格式如:a=imread('F:\gudesi.jpg')(2)imwrite用于写入图像文件,语法格式如:imwrite(a,'F:\gudesi.jpg')(3)imshow用于图像文件的显示,语法格式如:imshow(i)三种函数的联合应用如下:i=imread('F:\gudesi.jpg');imshow(i);%显示图像title('原始图像')%加上图像标题运行结果为:武汉理工大学《通信工程应用技术综合训练与实习》课程设计说明书2图1.1原始图像显示(4)fliplr/flipud用于实现矩阵的左右/上下翻转,语法格式为:fliplr(X)%使矩阵X沿垂直轴左右翻转;flipud(X)%使矩阵X沿垂直轴上下翻转。(5)imrotate用于对图像进行旋转操作,语法格式为:I=imrotate(A,angle)%将图像A(图像的数据矩阵)绕图像的中心点旋转angle度,正数表示逆时针旋转,负数表示顺时针旋转,返回旋转后的图像矩阵。以这种格式调用该函数,该函数默认采用最近邻线性插值(Nearest-neighborinterpolation),旋转后的图像超出的部分填充0(黑色)。(6)imresize用于改变图像的大小缩放,语法格式为:B=imresize(A,m,method)%返回原图A的m倍放大的图像(m小于1时效果是缩小),这里参数method用于指定插值的算法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值算法),'bicubic'(双三次插值算法),默认为'nearest'(最邻近法)。武汉理工大学《通信工程应用技术综合训练与实习》课程设计说明书32图像的平移变换2.1图像平移变换原理图像平移是将一幅图像中所有的点都按照指定的平移量在水平、垂直方向移动,平移后的图像与原图像相同。平移后的图像上的每一点都可以在原图像中找到。设(x0,y0)为原图像上的一点,图像水平平移量tx,垂直平移量为ty,则平移后点(x0,y0)的坐标变为(x1,y1)。(x0,y0)与(x1,y1)之间的关系为:x1=x0+tx;(2.1)y1=y0+ty;(2.2)以矩阵的形式表示为:1001001001111yxtytxyx(2.3)它的逆变化:1111001001100yxtytxyx(2.4)即:tyyytxxx1010(2.5)这样,平移后的图像上的每一点都可以在原图像中找到对应的点。例如,对于新图中的(0,0)像素,代入上面的方程组,可以求出对应原图中的像素(-tx,-ty)。如果tx或ty大于0,则(-tx,-ty)不在原图中。对于不在原图中的点,可以直接将它的像素值统一设置为0或则255(对于灰度图就是黑色或白色)。同样,若有点不在原图中,也就说明原图中有点被移出显示区域。如果不想丢失被移出的部分图像,可以将新生成的图像宽度扩大|tx|,高度扩大|ty|。2.2图像平移变换的matlab实现根据图像平移变换原理可知程序实现比较简单,利用matlab实现图像的平移变换的程序如下:%平移变换武汉理工大学《通信工程应用技术综合训练与实习》课程设计说明书4I=imread('F:\gudesi.jpg');figure(1);subplot(2,2,1);imshow(I);title('(a)原始图像')%在原来的结构元素上进行y和x的平移,平移量分别为100,-100%左下平移se1=translate(strel(1),[100-1

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功