河南理工大学毕业设计(论文)题目基于插值方法的数字图像几何变换的研究与实现院(系、部)计算机科学与技术学院专业及班级软件Java11-01姓名学号311109060123指导教师王静日期2015年5月15日河南理工大学毕业设计(论文)说明书I摘要随着数字图像技术的发展,数字图像处理广泛应用于几乎所有与图像处理有关的领域。图像的几何变换是数字图像处理中一个基本的、非常重要的变换,而图像的平移、图像的镜像变换、图像的转置、图像的缩放、图像的旋转、图像的剪取等等是几何变换中最复杂的变换。本文中主要分析了图像的几种几何原理,首先对图像变换中用到的插值处理方法,即:最近邻法、双线性插值法和三次内插值法,进行了比较。其次详细阐述了每种算法的原理及特点;最后运用Matlab软件对图片进行仿真处理,通过分析仿真结果得出各种算法的优缺点及适用的场所。关键词:MATLAB;图像缩放;图像旋转;图像剪取最近邻;双线性;三次内插值法AbstractWiththedevelopmentofdigitalimagetechnology,digitalimageprocessingiswidelyusedinalmostallimageprocessingandrelatedfields.Imagesofgeometrictransformationindigitalimageprocessingisabasicandveryimportanttransformationandtranslationofimages,imagetransform,imagetranspose,imagezoom,imageofimagerotation,clippingandsoonisgeometrictransformationisoneofthemostcomplicatedtransformation.IIThispapermainlyanalyzestheimageofseveralgeometricprinciple,firsttheinterpolationofimagetransformusedprocessingmethod,namely:Recentlyneighbor,bilinearinterpolationandcubicinterpolationmethod,werecompared.Secondly,itelaboratestheprincipleandcharacteristicsofeachalgorithm;finallytheapplicationofMATLABsoftware,theimagewasprocessedbysimulation,throughtheanalysisofthesimulationresultsvariousalgorithmsoftheadvantages,disadvantagesandapplicableplaces.Keywords:MATLAB;imagezoom;imagerotation;imageclippingnearestneighbor;bilinearinterpolationmethod;threeIII目录第1章前言-1-1.1数字图像概述.......................................................-1-1.2数字图像几何变换介绍...............................................-2-第2章图像几何变换理论.........................................-3-2.1图像缩放原理......................................................-3-2.2图像旋转原理......................................................-4-2.3图像剪取原理......................................................-6-第3章数字图像几何变换实现.............................................-7-3.1数字图像缩放.......................................................-7-3.1.1IMRESIZE函数......................................错误!未定义书签。3.1.2数字图象缩放...................................................-7-3.2数字图像旋转.......................................................-9-3.2.1IMROTATE函数......................................错误!未定义书签。3.2.2数字图象旋转..................................................-10-3.3数字图像剪取......................................................-11-3.3.1IMCOPY函数..................................................-11-3.3.2数字图象剪取..................................................-11-第4章结论............................................................-14-参考文献...............................................................-15-附录...................................................................-16-河南理工大学毕业设计(论文)说明书-1-第1章前言1.1数字图像概述在20世纪20年代,图像处理首次应用于改善伦敦和纽约之间海底电缆发送的图片质量。直到20世纪50年代数字计算机发展到一定水平后,数字图像处理才真正引起人们的兴趣。1964年美国喷气推进实验室(JPL),用计算机对“徘徊者2号”太空船发回的大批月球照片进行处理,受到明显的效果。60年代末,数字图像处理已经形成了比较完善的体系,形成一门新的学科。60年代到70年代,由于离散数学的创立和完善,使数字图像处理技术得到迅猛的发展,理论和方法进一步完善,应用范围更加广阔。这一时期,图像处理主要与模式识别和图像理解的研究相联系,如文字识别、医学图像处理、遥感图像的处理等。70年代后期至今,各个应用领域对数字图像处理提出越来越高的要求,促进这门学科向更高级的方向发展,特别是在景物理解和机器视觉方面,图像由二维处理变成三维解释。近几年来随着计算机和各个领域研究的迅速发展,科学计算可视化、多媒体技术等的研究和应用,数字图像处理从一个专门领域的学科变成了一种新型的科学研究和人机界面的工具。从二十世纪六十年代美国航空和太空总署(NASA)的喷气推进实验室第一次使用计算机对太空船发回的大批月球图片进行处理到信息技术不断提高的今天,数字图像的应用处理技术得到了广泛的应用,形成了自己的技术特色和完善的学科体系。用计算机进行图像处理的前提是图像必须以数字格式存储,我们把以数字格式存放的图像称之为数字图像。常见的各种照片、图片、海报、广告画等均属模拟图像,要将模拟图像数字化后生成数字图像,需要利用数字化设备。目前,将模拟图像数字化的主要设备是扫描仪,将视频画面数字化的设备有图像采集卡。当然,也可以利用数码照相机直接拍摄以数字格式存放的数字图像。模拟图像经扫描仪进行数字化或由数码相机拍摄的自然景物图像,在计算机中均是以数字格式存储的。既然是数字,计算机当然可以方便地进行各种处理,以达到视觉效果和特殊效果。在计算机中,图像被分割成如下所示的像素(Pixel),各像素的灰度值用整数表示。一幅NM个像素的数字图像,其像素灰度值可以用M行、N列的矩阵G表示:MNMMNNgggggggggG.....................212222111211(1-1)-2-1.2数字图像几何变换介绍我们在处理图像时往往会遇到需要对图像进行几何变换的一些问题。图像的几何变换时图像处理和图像分析的基础内容之一,它不仅提供了产生某些图像的可能,而且还可以使图像处理和分析的程序简单化,特别是图像具有一定的规律性时,一个图像可以由另一个图像通过几何变换来实现。所以,为了提高图像处理和分析程序设计的速度和质量,开拓图像程序应用范围的新领域,对图像进行几何变换是十分必要的。图像的几何变换不改变图像的像素值,而是改变像素所在的几何位置。从变换的性质分,图像的几何变换有图像的位置变换(平移、镜像、旋转)、图像的形状变换(放大、缩小、错切)等基本变换以及图像的复合变换等。其中使用最频繁的是图像的缩放和旋转,不论照片、图画、书报,还是医学X光和卫星遥感图像都会用到这两项技术。MATLAB全称是MatrixLaboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。实际上MATLAB中的绝大多数的运算都是通过矩阵这一形式进行的。这一特点也就决定了MATLAB在处理数字图像上的独特优势。理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成M×N样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。而MATLAB的长处就是处理矩阵运算,因此用MATLAB处理数字图像非常的方便。在本文中我们用MATLAB的图像处理工具包实现了图像的缩放、旋转和剪取。图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT变换等)、图像分析和统计、二值图像操作等。下面就MATLAB在图像处理中各方面的应用分别进行介绍:(1)图像文件格式的读写和显示。(2)图像处理的基本运算。(3)图像变换。(4)图像的分析和增强。(5)图像的数学形态学处理。以上所提到的MATLAB在图像中的应用都是由相应的MATLAB函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。[1]-3-第2章图像几何变换理论2.1图像缩放原理图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴按比例缩放fy倍,从而获得一幅新的图像。如果fyfx,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fyfx,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。设原图像中的点),(000yxP比例缩放后,在新图像中的对应点为),(yxP,则比例缩放前后两点),(000yxP、),(yxP之间的关系用矩阵形式可以表示为11000000100yxfyfxyx(2-6)其逆运算为1100010001100yxfyfxyx(2-7)即fyyyfxxx00(2-8)比例缩放所产生的图像中的像素可能在原图像中找不到相应得像素点,这样就必须进行插值处理。有关插值的内容在后面我们会讨论。下面首先讨论图