收藏 分销(赏)

本科毕业论文---基于插值方法的数字图像几何变换的研究与实现论文正文.doc

上传人:可**** 文档编号:3069947 上传时间:2024-06-14 格式:DOC 页数:21 大小:580.50KB
下载 相关 举报
本科毕业论文---基于插值方法的数字图像几何变换的研究与实现论文正文.doc_第1页
第1页 / 共21页
本科毕业论文---基于插值方法的数字图像几何变换的研究与实现论文正文.doc_第2页
第2页 / 共21页
本科毕业论文---基于插值方法的数字图像几何变换的研究与实现论文正文.doc_第3页
第3页 / 共21页
本科毕业论文---基于插值方法的数字图像几何变换的研究与实现论文正文.doc_第4页
第4页 / 共21页
本科毕业论文---基于插值方法的数字图像几何变换的研究与实现论文正文.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、河南理工大学 毕 业 设 计(论 文) 题 目 基于插值方法的数字图像几何变换的研究与实现 院(系、部) 计算机科学与技术学院 专业及班级 软件 Java11-01 姓 名 学 号 311109060123 指 导 教 师 王 静 日 期 2015年5月15日 - 17 -摘 要 随着数字图像技术的发展,数字图像处理广泛应用于几乎所有与图像处理有关的领域。图像的几何变换是数字图像处理中一个基本的、非常重要的变换,而图像的平移、图像的镜像变换、图像的转置、图像的缩放、图像的旋转、图像的剪取等等是几何变换中最复杂的变换。本文中主要分析了图像的几种几何原理,首先对图像变换中用到的插值处理方法,即:最

2、近邻法、双线性插值法和三次内插值法,进行了比较。其次详细阐述了每种算法的原理及特点;最后运用Matlab软件对图片进行仿真处理,通过分析仿真结果得出各种算法的优缺点及适用的场所。关键词:MATLAB;图像缩放;图像旋转;图像剪取最近邻;双线性;三次内插值法 AbstractWith the development of digital image technology, digital image processing is widely used in almost all image processing and related fields. Images of geometric tr

3、ansformation in digital image processing is a basic and very important transformation and translation of images, image transform, image transpose, image zoom, image of image rotation, clipping and so on is geometric transformation is one of the most complicated transformation.This paper mainly analy

4、zes the image of several geometric principle, first the interpolation of image transform used processing method, namely: Recently neighbor, bilinear interpolation and cubic interpolation method, were compared. Secondly, it elaborates the principle and characteristics of each algorithm; finally the a

5、pplication of MATLAB software, the image was processed by simulation, through the analysis of the simulation results various algorithms of the advantages, disadvantages and applicable places.Keywords: MATLAB; image zoom; image rotation; image clipping nearest neighbor; bilinear interpolation method;

6、 three 目 录第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.1 IMRESIZE函数- 7 -3.1.2数字图象缩放- 7 -3.2数字图像旋转- 10 -3.2.1 IMROTATE函数- 10 -3.2.2数字图象旋转- 10 -3.3数字图像剪取- 12 -3.3.1 IMCOPY函数- 12 -3.3.2数字图象剪取- 12 -第4章 结论- 15

7、-参考文献- 16 -附录- 17 -第1章 前言1.1数字图像概述在20世纪20年代,图像处理首次应用于改善伦敦和纽约之间海底电缆发送的图片质量。直到20世纪50年代数字计算机发展到一定水平后,数字图像处理才真正引起人们的兴趣。1964年美国喷气推进实验室(JPL),用计算机对“徘徊者2号”太空船发回的大批月球照片进行处理,受到明显的效果。60年代末,数字图像处理已经形成了比较完善的体系,形成一门新的学科。60年代到70年代,由于离散数学的创立和完善,使数字图像处理技术得到迅猛的发展,理论和方法进一步完善,应用范围更加广阔。这一时期,图像处理主要与模式识别和图像理解的研究相联系,如文字识别、

8、医学图像处理、遥感图像的处理等。70年代后期至今,各个应用领域对数字图像处理提出越来越高的要求,促进这门学科向更高级的方向发展,特别是在景物理解和机器视觉方面,图像由二维处理变成三维解释。近几年来随着计算机和各个领域研究的迅速发展,科学计算可视化、多媒体技术等的研究和应用,数字图像处理从一个专门领域的学科变成了一种新型的科学研究和人机界面的工具。从二十世纪六十年代美国航空和太空总署(NASA)的喷气推进实验室第一次使用计算机对太空船发回的大批月球图片进行处理到信息技术不断提高的今天,数字图像的应用处理技术得到了广泛的应用,形成了自己的技术特色和完善的学科体系。用计算机进行图像处理的前提是图像必

9、须以数字格式存储,我们把以数字格式存放的图像称之为数字图像。常见的各种照片、图片、海报、广告画等均属模拟图像,要将模拟图像数字化后生成数字图像,需要利用数字化设备。目前,将模拟图像数字化的主要设备是扫描仪,将视频画面数字化的设备有图像采集卡。当然,也可以利用数码照相机直接拍摄以数字格式存放的数字图像。模拟图像经扫描仪进行数字化或由数码相机拍摄的自然景物图像,在计算机中均是以数字格式存储的。既然是数字,计算机当然可以方便地进行各种处理,以达到视觉效果和特殊效果。在计算机中,图像被分割成如下所示的像素(Pixel),各像素的灰度值用整数表示。一幅个像素的数字图像,其像素灰度值可以用行、列的矩阵表示

10、: (1-1)1.2 数字图像几何变换介绍我们在处理图像时往往会遇到需要对图像进行几何变换的一些问题。图像的几何变换时图像处理和图像分析的基础内容之一,它不仅提供了产生某些图像的可能,而且还可以使图像处理和分析的程序简单化,特别是图像具有一定的规律性时,一个图像可以由另一个图像通过几何变换来实现。所以,为了提高图像处理和分析程序设计的速度和质量,开拓图像程序应用范围的新领域,对图像进行几何变换是十分必要的。图像的几何变换不改变图像的像素值,而是改变像素所在的几何位置。从变换的性质分,图像的几何变换有图像的位置变换(平移、镜像、旋转)、图像的形状变换(放大、缩小、错切)等基本变换以及图像的复合变

11、换等。其中使用最频繁的是图像的缩放和旋转,不论照片、图画、书报,还是医学X光和卫星遥感图像都会用到这两项技术。MATLAB全称是Matrix Laboratory(矩阵实验室),一开始它是一种专门用于矩阵数值计算的软件,从这一点上也可以看出,它在矩阵运算上有自己独特的特点。实际上MATLAB中的绝大多数的运算都是通过矩阵这一形式进行的。这一特点也就决定了MATLAB在处理数字图像上的独特优势。理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成MN样本的数字图

12、像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。而MATLAB的长处就是处理矩阵运算,因此用MATLAB处理数字图像非常的方便。在本文中我们用MATLAB的图像处理工具包实现了图像的缩放、旋转和剪取。图像处理工具包是由一系列支持图像处理操作的函数组成的。所支持的图像处理操作有:图像的几何操作、邻域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT变换等) 、图像分析和统计、二值图像操作等。下面就MATLAB 在图像处理中各方面的应用分别进行介绍:(1) 图像文件格式的读写和显示。(2) 图像处理的基本运算。(3) 图像变换。 (4) 图像的分析

13、和增强。(5) 图像的数学形态学处理。以上所提到的 MATLAB在图像中的应用都是由相应的MATLAB函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。1第2章 图像几何变换理论2.1图像缩放原理图像比例缩放是指将给定的图像在轴方向按比例缩放倍,在轴按比例缩放倍,从而获得一幅新的图像。如果,即在轴方向和轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。设原图像中的点比例缩放后,在新图像中的对应点为,则比例缩放前后两点、之间的关系用矩阵形式可以表示为 (2-6)其逆运算为 (2-7)即 (2-8)比例缩放所产

14、生的图像中的像素可能在原图像中找不到相应得像素点,这样就必须进行插值处理。有关插值的内容在后面我们会讨论。下面首先讨论图像的比例缩小。最简单的比例缩小时当时,图像被缩到一半大小,此时缩小后图像中的(0,0)像素对应于原图像中的(0,0)像素;(0,1)像素对应于原图像中的(0,2)像素;(1,0)像素对应于原图像中的(2,0)像素,以此类推。图像缩小之后,因为承载的数据量小了,所以画布可相应缩小。此时,只需在原图像基础上,每行隔一个像素取一点,每隔一行进行操作,即取原图的偶(奇)数行和偶(奇)数列构成新的图像。如果图像按任意比例缩小,则需要计算选择的行和列。如果大小的原图像缩小为大小的新图像时

15、,则 (2-9)其中,。由此公式可以构造出新图像。当时,图像不按比例缩小,这种操作因为在方向和方向的缩小比例不同,一定会带来图像的几何畸变。图像不按比例缩小的方法是:如果大小的旧图缩小为大小的新图像时,则 (2-10)其中,由此公式可以构造出新图像。图像的缩小操作中,是在现有的信息里如何挑选所需要的有用信息。而在图像的放大操作中,则需要对尺寸放大后所多出来的空格填入适当的像素值,这是信息的估计问题,所以较图像的缩小要难一些。当时,图像被按全比例放大二倍,放大后图像中的(0,0)像素对应于原图中的(0,0)像素;(0,1)像素对应于原图中的(0,0.5)像素,该像素不存在,可以近似为(0,0)也

16、可以近似为(0,1);(0,2)像素对应于原图像中的(0,1)像素;(1,0)像素对应于原图中的(0.5,0),它的像素值近似于(0,0)或(1,0)像素;(2,0)像素对应于原图中的(1,0)像素,依此类推。其实这是将原图像每行中的像素重复取值一遍,然后每行重复一次。按比例将原图像放大k倍时,如果按照最近邻域法则需要将一个像素值添在新图像的的子块中。显然,如果放大倍数太大,按照这种方法处理会出现马赛克效应。当时,图像在方向和方向不按比例放大,此时这种操作由于方向和方向的放大倍数不同,一定会带来图像的几何畸变。放大的方法是将原图像的一个像素添到新图像的一个的子块中去。为了提高几何变换后的图像质

17、量,常采用线性插值法。该方法的原理是,当求出的分数地址与像素点不一致时,求出周围四个像素点的距离比,根据该比率,由四个邻域的像素灰度值进行线性插值。2.2图像旋转原理一般图像的旋转是以图像的中心为原点,将图像上的所有像素都旋转一个相同的角度。图像的旋转变换时图像的位置变换,但旋转后,图像的大小一般会改变。在图像旋转变换中既可以把转出显示区域的图像截去,也可以扩大图像范围以显示所有的图像。同样,图像的旋转变换也可以用矩阵变换来表示。设点逆时针旋转角后的对应点为。那么,旋转前后点、的坐标分别是: (2-11) (2-12)写成矩阵表达式为 (2-13)其逆运算为 (2-14)利用上述方法进行图像旋

18、转时需要注意如下两点:(1)图像旋转之前,为了避免信息的丢失,一定要有坐标平移。(2)图像旋转之后,会出现许多空洞点。对这些空洞点必须进行填充处理,否则画面效果不好,一般也称这种操作为插值处理。以上所讨论的旋转是绕坐标轴原点(0,0)进行的。如果图像旋转是绕一个指定点(a,b)旋转,则先要将坐标系平移到该点,再进行旋转,然后将旋转后的图象平移回原来的坐标原点,这实际上是图像的复合变换。如将一幅图像绕点(a,b)逆时针旋转度,首先将原点平移到(a,b),即 (2-15)然后旋转 (2-16)然后再平移回来 (2-17)综上所述,变换矩阵为。2.3图像剪取原理有些时候我们为了减少图像所占存储空间,

19、舍弃图像的无用部分,只保留感兴趣的部分,这就需要用到图像的剪取。在本文中,我们只讨论对原图像剪取一个形状为矩形的部分的操作。对一幅图像进行剪取操作前,首先初始化该图像,这样图像上每个点,就对应了一个二维坐标,即。首先,我们先取二维坐标系上的一点,这点就作为要截取的矩形的左上角的起始坐标。然后我们定义一两个常量、,其中,代表矩形的长素,代表矩形的宽度,然后舍弃掉在矩形外的点,这样,在整个坐标系上,由、和四个点所围成的矩形部分便被保留下来。1第3章 数字图像几何变换实现在论文的实现过程中,主要利用了MATLAB的图像处理工具包来编写程序。MATLAB图像处理工具包是由一系列支持图像处理操作的函数组

20、成的,所支持的图像处理操作有:几何操作、区域操作和块操作;线性滤波和滤波器设计;变换(DCT变换);图像分析和增强;二值图像操作等。本论文所采用图像为分辨率为的灰度图像,其格式为JPEG。3.1数字图像缩放3.1.1 imresize函数MATLAB图像处理工具箱中的函数imresize可以用上述3种方法对图像进行插值缩放,如果不指定插值方法,则默认使用最近邻插值法。imresize函数的语法格式为:B=imresize(A,m,method)B=imresize(A,mrows ncols,method)B=imresize(,method,n)B=imresize(,method,h)这里

21、参数method用于指定插值的方法,可选的值为nearest(最近邻法),bilinear(双线性插值)及bicubic(双三次插值),默认值为nearest。B=imresize(A,m,method)返回原图A的m倍放大图像(小于1时效果是缩 小)。B=imresize(A,mrows ncols,method)返回一个mrows行,ncols列的图像,若 mrows和ncols定义的长宽比与原图不同,则图像会产生畸变。在使用bilinear和bicubic方法缩小图像时,为消除引入的高频成分,imresize使用一个前端平滑滤波器,默认的滤波器尺寸为11*11。也可通过参数n指定滤波器的

22、尺寸,即B=imresize(,method,n)。对于nearest插值方法,imresize不使用前端滤波器,除非函数明确指定。B=imresize(,method,h)使用用户设计的插值核h进行插值,h可以看作一个 二维FIR滤波器。3.1.2数字图象缩放首先,我们用最近邻插法将图像按原比例放大4.5倍, 其运行结果如下: 图3.1 原图像图3.2 最近临插法按原比例放大4.5倍后的图像图3.1为原图,图3.2为用最近临插法按原比例放大4.5倍后的图像。下面我们分别用双线性插值法和将双三次插值法将图像按原比例放大4.5倍,并与采用最近邻插法放大的图像做比较图3.3 采用最近邻插法所得图像

23、图3.4 采用双线性插值法所得图像图3.5 双三次插值法所得图像图3.3为采用最近邻插法所得图像,图3.4为采用双线性插值法所得图像,图3-5为双三次插值法所得图像。下面我们用双线性插值法将图像按原比例缩小为2.8倍。 图3.6 原图图3.7 用双线性插值法按原比例缩小为2.8倍后的图像图3.6为原图,图3.7为用双线性插值法按原比例缩小为2.8倍后的图像。3.2数字图像旋转3.2.1 imrotate函数在对数字图像进行旋转的时候,各像素的坐标将会发生变化,使得旋转之后不能正好落在整数坐标处,需要进行插值。在工具箱中的函数imrotate可用3种方法对图像进行插值旋转,默认的插值方法也是最近

24、邻插值法。函数imrotate的语法格式为:B=imrotate(A,angle,method)B=imrotate(A,angle,method,crop)函数imrotate对图像进行旋转,参数method用于指定插值的方法,可选的值为nearest(最近邻法),bilinear(双线形插值)及bicubic(双三次插值),默认值为 nearest。一般来说,旋转后的图像会比原图大,超出原图像的部分值为0。用户也可以指定crop参数对旋转后的图像进行剪切(取图像的中间部分),使返回的图像与原图大小相同。3.2.2数字图象旋转首先,我们用双线性插值法将原图像旋转60度,不裁去超出原图的部分。

25、图3.10 原图 图3.11 用双线性插值法旋转60度后的图像,未裁去超出原图的部分图3.10为原图,图3.11为用双线性插值法旋转60度后的图像,未裁去超出原图的部分。用双线性插值法将原图像旋转60度,裁去超出原图的部分,并与未裁去超出部分的做比较, 图1是用双线性插值法将原图像旋转60度,裁去超出原图的部分,图2为未裁去超出部分的,可见图1与原图大小相同下面,我们用双线性插值法将原图像旋转120度,并与旋转60度的图像做比较。 图1为用双线性插值法将原图像旋转120度所得图像,图2为旋转60度的所得图像。3.3数字图像剪取3.3.1 IMCOPY函数有时只需要处理图像中的一部分,或者需要将

26、某一部分取出,这样就要对图像进行剪取。图形的裁剪处理可使用imcrop函数实现。函数imcrop用于剪取图像中的一个矩形子图,用户可以通过参数指定这个矩形顶点的坐标,也可以用鼠标指针选取这个矩形。其语法规则如下:I2=imcrop(I)X2=imcrop(X,map)RGB2=imcrop(RGB)I2=imcrop(I,rect)X2=imcrop(X,map,rect)RGB2=imcrop(RGB,rect)=imcrop(x,y,)A,rect=imcrop()x,y,A,rect=imcrop()其中I2=imcrop(I),X2=imcrop(x,map)和RGB2=imcrop(

27、RGB)为交互式地对灰度图像,索引图像和真彩色图像进行剪切。I2=imcrop(I,rect),X2=imcrop(X,map,rect)和RGB2=imcrop(RGB,rect)按指定的矩形框rect剪切图像,rect是一个四元向量xmin ymin width height,分别表示矩形左上角的坐标和长度及宽度。=imcrop(x,y,)在指定坐标系统(x,y)中剪取图像。A,rect=imcrop()和x,y,A,rect=imcrop()在用户交互剪取图像的同时返回剪取框的参数rect。3.3.2数字图象剪取首先,我们从坐标(0,0)开始,从原图上剪取一个长度为200,宽度为200的

28、矩形部分。图3.16 原图图3.17 以坐标(0,0)开始,剪取长度为200,宽度为200的矩形部分 下面,我们以坐标(0,0)开始,剪取长度为200,宽度为200的矩形部分,并与以坐标(0,0)开始,剪取同样大小的图像相比较。 图1为以坐标(0,0)开始,剪取长度为200,宽度为200的矩形部分,并与以坐标(0,0)开始,取长度为200,宽度为200的矩形部分。下面我们在原图像上用鼠标拖动出一个矩形框,返回该矩形框的起始坐标、长度和宽度,语句如下:clear;i=imread(C:UsersweichuangDesktopmatlabf2.jpg);A,rect=imcrop(i)截取部分如

29、下图所示:图3.21 用鼠标截取部分返回的值为rect =38 39 141 47我们将返回的rect值带入到以下语句中:clear;i=imread(C:UsersweichuangDesktopmatlabf2.jpg);j=imcrop(i, 38 39 141 47);imshow(i),title(1)figure,imshow(j),title(2)可得图像图3.22 将返回的rect值代入后所得图像该图像与用鼠标截取的图像完全相同。6第4章 结论 本文采用了MATLAB作为工具,以最近邻插法、双线性插值法和双三次插值法三种常用数字图像插值算法为基础,实现了数字图像的比例缩放、旋转

30、和剪取等一系列几何变换。通过研究可以发现,插值算法的选取直接影响到数字图像在经过几何变换之后的质量。最近邻插法质量最差,但是算法简单,速度快;双线性插值法质量好,但是需要较大的计算量才能完成;双线性插值法无论在质量上还是速度上,都介于两者之间。插值技术的提高是以数学方法的改进和提高为前提的。运用到现实中,还应结合硬件处理速度选择合适的算法,硬件处理速度的提高也是实现复杂算法的前提。随着数学的发展和计算机硬件水平的提高,将会有更优秀的插值算法运用到实际当中,数字图像几何变换的质量和速度将得到很大程度上的提高。参考文献1 章毓晋.图像工程上册图像处理和分析M.北京:清华大学出版社,1999.32

31、章毓晋.图像工程下册图像理解与计算机视觉M.北京:清华大学出版社,2000.83 张兆礼,赵春晖,梅晓丹.现代图像处理技术M.北京:人民邮电出版社,2001.1l4 崔屹.图像处理与分析数学形态学方法及应用M.北京:科学出版社,2000.45 贾云得.机器视觉M.北京:科学出版社,2000.46 陈桂明,张明照,戚红雨.应用MATLAB语言处理数字信号与数字图像M.北京:科学出版社,2000.17 何斌,马大予,于运坚,朱红莲.VisualC+数字 图像处理M.北京:人民邮电出版社,2001.4附录我们用最近邻插法将图像按原比例放大4.5倍,语句如下:clear;i=imread(C:User

32、sweichuangDesktopmatlabf2.jpg);a=4.5j=imresize(i,a);imshow(i),title(1)figure,imshow(j),title(2)用双线性插值法和双三次插值法将图像按原比例放大4.5倍,语句如下:clear;i=imread(C:UsersweichuangDesktopmatlabf2.jpg);a=4.5j=imresize(i,a);k=imresize(i,a, bilinear);l=imresize(i,a, bicubic);imshow(j),title(1)figure,imshow(k),title(2) figu

33、re,imshow(l),title(3) 下面我们用双线性插值法将图像按原比例缩小为2.8倍,语句如下:clear;i=imread(C:UsersweichuangDesktopmatlabf2.jpg);a=2.8j=imresize(i,a ,bilinear);imshow(i),title(1)figure,imshow(j),title(2) 用双线性插值法将原图像旋转60度,不裁去超出原图的部分,语句如下:clear;i=imread(C:UsersweichuangDesktopmatlabf2.jpg);a=60j=imrotate(i,a,bilinear);imshow

34、(i),title(1)figure,imshow(j),title(2)用双线性插值法将原图像旋转60度,裁去超出原图的部分,并与未裁去超出部分的做比较,语句如下:clear;i=imread(C:UsersweichuangDesktopmatlabf2.jpg);a=60j=imrotate(i,a,bilinear);k=imrotate(i,a, bilinear, crop);imshow(k),title(1)figure,imshow(j),title(2)我们从坐标(0,0)开始,从原图上剪取一个长度为200,宽度为200的矩形部分,语句如下:clear;i=imread(C

35、:UsersweichuangDesktopmatlabf2.jpg);j=imcrop(i,0 0 200 200);imshow(i),title(1)figure,imshow(j),title(2)我们用双线性插值法将原图像旋转120度,并与旋转60度的图像做比较,语句如下:clear;i=imread(C:UsersweichuangDesktopmatlabf2.jpg);a=60b=120j=imrotate(i,b,bilinear);k=imrotate(i,a,bilinear);imshow(j),title(1)figure,imshow(k),title(2)我们以坐标(0,0)开始,剪取长度为200,宽度为200的矩形部分,并与以坐标(0,0)开始,剪取同样大小的图像相比较,语句如下:clear;i=imread(C:UsersweichuangDesktopmatlabf2.jpg);j=imcrop(i,0 0 200 200);k=imcrop(i,100 100 200 200);imshow(k),title(1)figure,imshow(j),title(2)

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服