数字灰度图像的基本运算处理正文.

上传人:小** 文档编号:57356653 上传时间:2022-02-23 格式:DOC 页数:22 大小:1.01MB
收藏 版权申诉 举报 下载
数字灰度图像的基本运算处理正文._第1页
第1页 / 共22页
数字灰度图像的基本运算处理正文._第2页
第2页 / 共22页
数字灰度图像的基本运算处理正文._第3页
第3页 / 共22页
资源描述:

《数字灰度图像的基本运算处理正文.》由会员分享,可在线阅读,更多相关《数字灰度图像的基本运算处理正文.(22页珍藏版)》请在装配图网上搜索。

1、西华大学课程设计说明书/、八1刖言介绍一种用可视化数值计算软件MATLAB实现的数字图像处理系统平台,系统使用MATLAB提供的GUI设计系统可视化的用户界面,下拉式的菜单方便用户选择对图像的 处理。用户可以随意选择要处理的图片。但是该系统只支持灰度图片,可实现内容主要 包括灰度图像的代数运算、几何运算。基于数字图像处理的一些基本原理, 利用MATLAB 设计程序进行对灰度图像的处理。有部分处理运算有很多种方法,我选择了最简单、最 明了的方法。数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计 算机对其进行处理的过程。理论上讲,图像是一种二维的连续函数,然而在计算机上对

2、图像进行数字处理的时候,首先必须对其在空间和亮度上进行数字化,这就是图像的采 样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成MXN样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。随着计算机的发展,图像处理技术在许多领域得到了广泛应用,用于图像处理的软件也很多,如 PHOTOSHOPAINTSHOPGIMR SaperaProcessing、MATLAB?,其中大部分软件都是基于广告策划和图像修饰处理而设计的应用软件,进行图像处理时并不是很方便。而MATLAB矩阵实验室)它在矩阵运算上有自己独特的特点,在矩阵运算处理具 有很大的优势,因此用

3、MATLA处理数字图像非常的方便。不仅如此,MATLA提供了丰富的图形命令和图形函数,而且其面向对象的图形系统具有强大的用户界面(GUI)生成能力。这样,用户就可以充分利用系统提供的GUI特性,编写自己需要的图形界面,从而可以高效地进行图像处理。MATLA支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持 BMP GIF、HDF JPEG PCX PNG TIFF、XWD CUR ICO 等图像文件格 式的读,写和显示。MATLAB寸图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox )中。图像处理工具箱是由一系列支持图像

4、处理操作的函数组成, 可以对图像进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增 强、二值图像操作以及形态学处理等图像处理操作。2方案设计2.1系统基本方案本系统利用MATLAB言设计程序进行灰度图像处理,主要功能包括灰度图像的代 数运算、几何运算,基本上包含了图像的所有变换和运算。菜单式选择图像处理运算清 晰方便,可视化的界面形象生动、使用方便、交互性强、具有无限的扩展能力。2.2系统流程图选择操作文件几何运算打开代数运算2.3 MATLAB的语言特点(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。运算符丰富。(2)MATLAB既具有结构化的控制语句(如for循环,whi

5、le循环,break语句和if语句),又有面向对象编程的特性。(3)程序限制不严格,程序设计自由度大。(4) MATLA的图形功能强大。(5) MATLA的缺点是,它和其他高级程序相比,程序的执行速度较慢。(6) 由于MATLAB勺程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。2.4设计最终方案决定虽然可用高级编程语音(比如c#、delphi等),但实现工具选用matlab较为方便。、3系统的设计原理3.1各模块功能及图像处理原理3.1.1代数运算代数运算是指两幅输入图象之间进行点对点的加、减、乘、除运算得到输出图象的 过程。如果记输入图象为 A(x,y)和B(x,y

6、),输出图象为C(x,y),则有如下四种简单形 式:C(x,y) = A(x,y)+B(x,y) C(x,y) = A(x,y)-B(x,y) C(x,y) = A(x,y)x B(x,y)C(x,y) = A(x,y)/ B(x,y)对于图像的代数运算应注意以下问题:(1) 代数运算的结果很容易超出数据类型允许的范围,有些运算(如除法)会产生分数结果,这个结果是不能用整数类型描述的,所以在图像代数运算中会采用以下的截取 规则: 超出数据类型允许的范围的值用数据类型的最大值代替; 分数的结果采用四舍五入的方法整取。 在使用Matlab中代数运算函数时,不用进行数据类型的转换,这些函数可以接受u

7、int8和uint16数据类型,并返回相同格式的图象结果。(3) 可以使用+、-、*、/等基本算术运算符来进行图像的算数操作运算,但是不同 于Matlab中提供的运算函数,必须在运算前将图像转换为适合进行算数运算的双精度 数据类型。(4) 任何一个代数运算,都必须保证输入图像的大小相等,且数据类型一致。在该功能模块中主要设计了图像的求补、叠加、减法、线性组合、乘法、除法运算。3.1.2几何运算在该功能模块中主要包含了改变图像大小、图像水平镜像、垂直镜像、图像转置、图象旋转、图像裁剪。1. 放缩操作:MATLAB影像工具箱中的immersize函数可以通过一种特定的插补方法来改变图像 的大小。该

8、函数的语法如下面所述:B=immersize (A,m, method)。如果用户没有指定插补方法,则该函数将采用缺省的近邻插补方法。另外,我们还 可以根据指定的放大系数来改变图像的大小。例如,下面的代码可以将X中的像素数目增加一倍。Y=immersize(X,2)。其中2为放大的系数。如果希望缩小系数,只需将放 大系数设置在0到1之间即可。2. 旋转操作:在MATLA处理工具箱中的imrotate函数可以通过一种特定的插补方法来改变图像显示的角度。该函数的语法如下所示:B=imrotate (A,angle,method)该函数以图像中心点为基准,以角度an gle 逆时针方向旋转。指定an

9、 gle 为负值,可实现图像顺时针旋转。该函数是旋转图像A ,使用指定的差值方法,method是可以有下列值之一的一个文本字符串,默认值是包含在大括号().如果用户没有指定插补方法,则该函数将采用缺省的近邻插补方法。另外,用户还 需指定旋转的角度。图像的几何变换可以看成是像素在图像内的移动过程,该移动过程可以改变图像中物体对象(像素)之间的空间关系。完整的几何运算需要由两个算法来实现:空间变换 算法和灰度插值算法。空间变换主要用来保持图像中曲线的连续性和物理的连通性,一 般都采用数学函数形式来描述输入、输出图像相应像素间的空间关系。空间变换一般定义为g(x,y)二f(x, y)二fa(x,y)

10、, b(x,y),其中,f便是输入图像,g表示输出图像,坐标(x,y)指的空间变换后的坐标,要注意这时的坐标已5西华大学课程设计说明书经不是原来的坐标(x,y) 了,a(x, y)和b(x, y)分别图像的x和y坐标的空间变换函数。灰度级插值主要是对空间变换后的像素赋予灰度值,使之恢复原位置处的灰度值,在几何运算中,灰度级插值是必不可少的组成部分。因为图像一般用整数位置处的像素来定义。而在几何变换中,g(x,y)的灰度值一般由处在非整数坐标上的f(x, y)的值来确定,即g中的一个像素一般对英语f中的几个像素之间的位置,反过来看也是一样, 即f中的一个像素往往被映射到g中的几个像素之间的位置。

11、3.2 MATLAB程序编写及具体操作3.2.1界面设计该系统的界面设计程序 Ma inIn terface.m主要运用了 Matlab GUI中的figure (图形窗 口)、uimenu(图形窗口主菜单)两个对象。在GUI中所有的对象创建都有着相同的格式: handle=function( propertyname,propertyvalue,)uime nu对象的一些常用属性如表1所示:属性说明Backgro un dcoloruimenu背景色,是一个3兀素的RGB向量或 Matlab预疋义的颜色名 称。默认的背景色是亮灰色CallbackMatalab回调字符串,选择菜单项时,回调字

12、符串传给函数eval。初始值为空矩阵Checked被选项的校验标记on:校验标记出现在所选项旁边;off:不显示En able菜单式能状态on:菜单项使能。选择菜单项能将callback字符串传给eval; off :菜单项不使能。选择菜单项不起任何作用。Label含有菜单项标志的文本串。在PC系统中,用“ &”定义快捷键Positi onuimenu对象的相对位置。顶层菜单从左到右编号,子菜单从上至下Separator分隔符线模式on:分割线在菜单项之上;off :不画分割线Visibleuimenu对象的可视性on:uimenu在屏幕上可见;off:不可见表1 uimenu对象的属性列表在

13、本系统菜单设计过程中主要使用了 figure、uimenu的Backgroundcolor、Callback、 Label、Position、Separator Visible属性。在被处理图片打开之前除“文件”、“帮助” 菜单的visible属性为“on”,即可见外其它均为“ off”。3.2.2代数运算函数函数名功能描述Imabsdiff两幅图像的绝对差值Imadd两幅图像的加法Imcompleme nt补足一幅图像Imdivide两幅图像的除法Imli ncomb计算两幅图像的线性组合Immultiply两幅图像的乘法imsubtract两幅图像的减法表2图像处理工具箱中的代数运算函数3

14、.2.3图像代数运算(1) 图像加法函数imadd语法格式 Y=imadd (X)说明:imadd函数用于产生两张图像的叠加效果,其中X,Y是类型相同的数组。imadd 函数还可以通过指定常数参数增强一张图像的亮度。在本系统中就采用了此方法,指定 常数参数增强灰度图像的亮度。(2) 图像减法函数imsubtract语法格式:Y= imsubtract (X)说明:说明:imadd函数用于产生两张图像的叠加效果,其中 X,Y是类型相同的数 组。subtrac函数还可以通过指定常数参数降低一张图像的亮度。 在本系统中就采用了此 方法,指定常数参数降低灰度图像的亮度。(3) 图像乘法运算immult

15、iply和图像除法运算mdivide图像的乘法、除法、减法运算类似于叠加运算。乘法函数immultiply用于对两张图像进行掩膜操作,即屏蔽掉图像的某些部分。使用乘法函数时需指定缩放参数,如果 大于1则增强图像亮度,反之则减弱图像亮度。除法函数imdivide通常用于校正成像设 备的非线性误差,也可以用于检测两张图像之间的差别,它给出的是相应像素值的变化比率,而不是每个像素值的绝对差异。减法函数imsubtract通常用于检测图像变化以及运动物体的图像处理324图像几何运算改变图像大小函数imresize语法格式:Y=imresize(X,M,Method)说明:其中X表示需要进行操作的图像,

16、M是放大的倍数,一般来说 M是大于0 的实数,如果M大于1表示放大图像,小于1则表示缩小图像。Method参数用来选择 使用何种插值方法,其值及其含义如下:earesf最近邻插值法、bili near 双线性插值法、bicubic双三次插值法,默认为 earest。imresize还可以指定图像输出大小,即传递一个向量参数给 imresize函数,其中参数 的两个分量分别指定输出图像的行数和列数。 如要将原图像X输出为200X480的图像, 命令为:Y=imresize(X,200 480)。在本系统中采用了后一种方法,并使用了随机产生函 数,使得图像改变大小随机性。(2) 图像水平镜像fli

17、plr、垂直镜像flipud、转置ctranspose语法格式:Y=fliplr(X)Y=flipud(X)Y=ctra nspose (X)说明:水平镜像函数fliplr是将图像沿垂直轴翻转矩阵,即将矩阵左右方向翻转。 垂直镜像函数flipud是将图像沿水平轴翻转矩阵,即将矩阵水平方向翻转。图像转置可 以使用函数ctranspose,也可以直接使用矩阵转置 Y=X。(3) 图像旋转函数imrotate语法格式:Y=imresize(X,a ngle,method)Y=imresize(X,a ngle,method,crop)说明:其中X表示原图像,angle表示旋转的角度,这个角度是以逆时

18、针方向计算 的,负值表示顺时针方向旋转。method参数与前面imresize中的参数意义相同。而crop 参数表示将旋转以后的图像取与原图像大小的中心部分输出。本系统中采用了后一种方法,旋转以后的图像取与原图像大小的中心部分输出,并使用了随机产生函数,使得旋 转角度随机性。图像裁剪函数imcrop语法格式:Y=imcrop(X,rect)Y=imcrop(X,map,rect)说明:如果不指定原图像,imcrop函数将当前坐标轴中的图像作为待裁剪图像,map参数表示原图像为索引图像时的调色板。rect参数定义图像裁剪区域的矩形坐标,如果不 指定坐标,则可以在原图像中使用拖放的方式来手动选择一

19、个矩形区域。本系统采用指 定裁剪区域矩形坐标的方法。4系统的软件设计及实现4.1系统各功能模块演示4.1.1图像的加法运算实现代码:RGB=imread(haha.JPG);RGB2=imadd(RGB,50);imshow(RGB) figure,imshow(RGB2) RGB3=imadd(RGB,100); figure,imshow(RGB3) subplot(221),imshow(RGB),title(RGB); subplot(222),imshow(RGB2),title(RGB2); subplot(223),imshow(RGB3),title(RGB3);图1原图图2F

20、igum 3.口 R *文阳Wflil:!AA4ilTJWTJ JKQl 雷 3iW簡pdd d b %窗49X*|3|IQ|P图3相加后的图片4.1.2图像的减法运算实现代码:l=imread(kow.JPG);imshow(l) 9西华大学课程设计说明书backgro und = imope n( l,strel(disk,15); figure, imshow(backgro un d);I2=imsubtract(I,backgro un d);figure, imshow(I2) subplot(221),imshow(I),title(rice);subplot(222),imsh

21、ow(backgro un d),title(backgro un d);subplot(223),imshow(l2),title(l2);图4原图图5图6图像的相减后4.1.3图像的乘法运算实现代码:l=imread(rice .J PG);J=immultiply(l,1.2);K=immultiply(l,0.5);imshow(l)figure,imshow(J)figure,imshow(K)subplot(131),imshow(l),title(T);11西华大学课程设计说明书#西华大学课程设计说明书subplot(132),imshow(J),title(J);subplot

22、(133),imshow(K),title(K);图7原图图8#西华大学课程设计说明书图9相乘后的图像4.1.4图像的除法运算实现代码:Rice = imread(rice.tif);I = double(rice);J= I * 0.43 + 90;Rice2 = ui nt8(J);Ip = imdivide(rice, rice2);lmshow(lp, );图10图像除法4.1.5图像的平移实现代码:img仁imread(xixi.JPG);img1=rgb2gray(img1); figure,imshow(img1);imwrite(img1,a1.jpg);%图11原图图12平移

23、后的图4.1.6图像的缩放运算实现代码:l=imread(lio n.J PG);J=imresize(l,1.25);K=imresize(l,0.8);imshow(l),title(T)13西华大学课程设计说明书15西华大学课程设计说明书figure,imshow(J),title(J)figure,imshow(K),title(K)图13原图#西华大学课程设计说明书#西华大学课程设计说明书图14图像放大至原图1.25倍图15图像缩小至原图0.8倍#西华大学课程设计说明书#西华大学课程设计说明书4.1.7图像的翻转实现代码:l=imread(trees.tif);J=imrotate(

24、l,30,bili near);J1= imrotate(I,30,bili near,crop);imshow(l)figure,imshow(J)figure,imshow(J1)subplot(121),imshow(l),title(T);#西华大学课程设计说明书subplot(122),imshow(J1),title(J1);(写出该命令的目的)J2=imrotate(l,-15,bilinear); %figure,imshow(J2)I = imread(camerama n.tif);figure,imshow(I);theta = 30;K = imrotate(I,the

25、ta); % Try varying the angle, theta.17西华大学课程设计说明书#西华大学课程设计说明书figure, imshow(K)图16图像向左转#西华大学课程设计说明书picefrilUIPIK.Ld/UULLibraryk| PdrAlId 仃ITTFigure 6- aCom&IMUIJNK.CNVIADNM 宦 Nf出密HUB 里闻谢矗口卿-3Sil SMttlD插入CD TttLD 申勿回 fi!口凹图17图像向右转另:翻转和缩放的代码也可用se=tra nslate(strel(1),20 20);img2=imdilate(img1,se);figure

26、,imshow(img2);imwrite(img2,a2.jpg);%旋%img3=imrotate(img1,90);figure,imshow(img3);imwrite(img3,a3.jpg);% %缩放img4=imresize(img1,2);figure,imshow(img4);imwrite(img4,a4.jpg);5结束语通过这次“基于matlab的数字图像处理”的课程设计,学到了很多很多,最基本的 就是重新熟悉了 matlab语言,不仅仅只是在 matlab编程上面有所提高和对界面设计熟 悉,对数字图像处理也有了更深刻的认识。首先,明白了图像对于matlab而言就是矩

27、阵,灰度图像和彩色图像对应于不同维数 的矩阵,分别为二维和三维,其中三维矩阵每一位代表一种颜色。矩阵可以使实数,也 可以使复数,不同的图像矩阵的元素对应于不同的类型,有double, uint8等类型。由于几乎所有的matlab函数及其工具箱函数都可以使用 double作为参数类型,不过由于64bit 来表示图像数据存储量特别巨大,所以matlab还支持图像数据的无符号整型存储, 所以 使用时还要注意输出数据类型的转换。最后,我们必须要明白理论指导实践,要想实现预期的效果,必须明白它实现的机制和相应的算法,只有通过相应的理论来指导,我们才能有所创新,才能有所突破,而 不只是单纯的引用相应的处理

28、函数。例如对于截图函数,它只能是截取坐标轴内的图像, 对坐标轴意外的图像却不能处理,而且对于同时显示在坐标轴上的几张图像,它只能处 理最后显示的那张,如果我们通过对它改进,能实现像qq截图那样的功能就很强大了。不过通过这次的实现,我对图像的模式,几何变换的原理,图像的平移,裁剪,镜像, 扭曲,缩放以及旋转等原理都有了更清楚的认识,也明白了它们的实现机制。matlab还有很多很多新功能等待我们去探索。通过这次的课程设计,我们受益匪浅。19西华大学课程设计说明书6致谢在西华大学电气信息学院的几年学习时间即将过去,几年时间并不算长,但对我而 言,是磨砺青春、挥洒书生意气的几年,也是承受师恩、增长才干

29、、提高学识的几年。 我将以积极的面貌重新投入到火热的工作和事业中。在此,谨对培育我的母校、教导我 的老师、帮助我的同学们致予最诚挚的谢意和敬意。这次课程设计,我一直很努力地去做,过程中得到了郭奕老师的悉心指导和同学们 大力热心帮助,并对我的设计提出许多有益的建议,在此对他们表示衷心的感谢。同时 也要感谢学校能给我这次机会去尝试自己设计一些东西,使自己所学专业知识与实践相结合。最后也要感谢有关我参考过的文献的作者,是他们为我提供知识的源泉,使我最 终能顺利地完成这次课程设计。在临近毕业之际,我衷心地同学和朋友们在以后的人生道路上越走越宽广,也深深 相信在未来的日子里我们将一路携手前行,会遇到很多

30、的碰撞和交流,我们将始终记得 我们曾在电气信息学院学习,这将是我克服困难、不断前进的精神动力。21西华大学课程设计说明书7参考文献1 王洪元主编MATLAB语言以及在电子信息工程中的应用.清华出版社.2004.122 飞思科技研发中心,MATLAB6.5辅助图像处理,.北京,电子工业出版社,20033 楼顺天,基于MATLAB的系统分析与设计一一信号处理,西安,西安电子科技 大学出版社,1998.34 李文锋,图形图像处理与应用,中国标准出版社,北京,2006李文锋编著.图形图像处理与应用.中国标准出版社.2006.06贺兴华等著.MATLAB7.X 图像处理.人民邮电出版社.2006.11.01 7刘文耀编著.数字图像采集与处理.电子工业出 版社.2007.08.018 陈怀琛主编.数字信号处理教程一一MATLAB释义与实现.电子工业出版 社.2004.069 张志涌等,掌握和精通 MATLAB,北京,北京航空航天大学出版社,1997.#

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!