《灰度图片处理(课程设计)文档》由会员分享,可在线阅读,更多相关《灰度图片处理(课程设计)文档(24页珍藏版)》请在金锄头文库上搜索。
1、 课程设计报告课程设计报告电梯运行模拟问题电梯运行模拟问题学 院 医药信息工程学院 专 业 医药软件工程 07 年 级 三年级 学生姓名 刘耀辉 学 号 0707501116 指导教师 蔡先发 2010 年 8 月 27 日现阶段用于图像处理的软件很多,如PHOTOSHOP、PAINTSHOP、GIMP、SaperaProcessing,还可以使用 VB、C/C+等编程语言来进行数字图像处理,但是大部分软件对图像的处理运算并不是很完善。介绍一种用可视化数值计算软件 MATLAB 实现的数字图像处理系统平台,系统使用 MATLAB 中提供的 GUI 设计系统可视化的用户界面,下拉式的菜单方便用户
2、选择对图像的处理。用户可以随意选择要处理的图片。但是该系统只支持灰度图片,可实现内容主要包括灰度图像的代数运算、几何运算、正交变换、图像增强、图像形态学描述、边缘检测。基于数字图像处理的一些基本原理,利用 MATLAB 设计程序进行对灰度图像的处理。有部分处理运算有很多种方法,我选择了最简单、最明了的方法。本系统虽然基本纳含了对图像的一些基本处理,但是在部分功能模块实现上仍存在不足,恳请各位评审老师予以批评指正。引言数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。理论上讲,图像是一种二维的连续函数,然而在计算机上对图像进行数字处理的时候,首先必须
3、对其在空间和亮度上进行数字化,这就是图像的采样和量化的过程。二维图像进行均匀采样,就可以得到一幅离散化成 MN 样本的数字图像,该数字图像是一个整数阵列,因而用矩阵来描述该数字图像是最直观最简便的了。随着计算机的发展,图像处理技术在许多领域得到了广泛应用,用于图像处理的软件也很多,如PHOTOSHOP、PAINTSHOP、GIMP、SaperaProcessing、MATLAB 等,其中大部分软件都是基于广告策划和图像修饰处理而设计的应用软件,进行图像处理时并不是很方便。而 MATLAB(矩阵实验室) 它在矩阵运算上有自己独特的特点,在矩阵运算处理具有很大的优势,因此用 MATLAB 处理数字
4、图像非常的方便。不仅如此,MATLAB 提供了丰富的图形命令和图形函数,而且其面向对象的图形系统具有强大的用户界面(GUI)生成能力。这样,用户就可以充分利用系统提供的 GUI 特性,编写自己需要的图形界面,从而可以高效地进行图像处理。MATLAB 支持五种图像类型,即索引图像、灰度图像、二值图像、RGB 图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO 等图像文件格式的读,写和显示。MATLAB 对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。图像处理工具箱是由一系列支持图像处理操作
5、的函数组成,可以对图像进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。第一章 系统简介1.1 系统特色系统特色本系统利用 MATLAB 语言设计程序进行灰度图像处理,主要功能包括灰度图像的代数运算、几何运算、正交变换、图像增强、图像形态学描述、边缘检测,基本上包含了图像的所有变换和运算。菜单式选择图像处理运算清晰方便,可视化的界面形象生动、使用方便、交互性强、具有无限的扩展能力。1.2 系统流程图系统流程图是被选图片是否为灰度图片选择并打开图片开 始否提示错误信息选 择 操 作结 束几何运算正交变换图像增强图像描述边缘检测代数运算
6、文件打开退出1.3 系统总体结构系统总体结构本系统共设计了 6 种图像处理运算,其总体结构如下图所示:第二章 系统设计原理2.1 各模块功能及图像处理原理各模块功能及图像处理原理2.1.1 代数运算代数运算代数运算是指两幅输入图象之间进行点对点的加、减、乘、除运算得到输出图象的过程。如果记输入图象为 A(x,y)和 B(x,y),输出图象为 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)B(x,y) C(x,y) = A(x,y)/ B(x,y) 对于图像的代数运算应注意以下问题:(
7、1)代数运算的结果很容易超出数据类型允许的范围,有些运算(如除法)会产生分数结果,这个结果是不能用整数类型描述的,所以在图像代数运算中会采用以下的截取规则:超出数据类型允许的范围的值用数据类型的最大值代替;分数的结果采用四舍五入的方法整取。(2)在使用 Matlab 中代数运算函数时,不用进行数据类型的转换,这些函数可以接受 uint8 和 uint16 数据类型,并返回相同格式的图象结果。(3)可以使用+、-、*、/等基本算术运算符来进行图像的算数操作运算,但是不同于 Matlab 中提供的运算函数,必须在运算前将图像转换为适合进行算数运算的双精度数据类型。(4)任何一个代数运算,都必须保证
8、输入图像的大小相等,且数据类型一致。在该功能模块中主要设计了图像的求补、叠加、减法、线性组合、乘法、除法运算。2.1.2 几何运算几何运算在该功能模块中主要包含了改变图像大小、图像水平镜像、垂直镜像、图像转置、图象旋转、图像裁剪。图像的几何变换可以看成是像素在图像内的移动过程,该移动过程可以改变图像中物体对象(像素)之间的空间关系。完整的几何运算需要由两个算法来实现:空间变换算法和灰度插值算法。空间变换主要用来保持图像中曲线的连续性和物理的连通性,一般都采用数学函数形式来描述输入、输出图像相应像素间的空间关系。空间变换一般定义为,其中,( , )( ,) ( , ), ( , )g x yf
9、xyf a x y b x yf 便是输入图像,g 表示输出图像,坐标指的空间变换后的坐标,要注意( ,)x y这时的坐标已经不是原来的坐标了,和分别图像的 x 和 y 坐( , )x y( , )a x y( , )b x y标的空间变换函数。灰度级插值主要是对空间变换后的像素赋予灰度值,使之恢复原位置处的灰度值,在几何运算中,灰度级插值是必不可少的组成部分。因为图像一般用整数位置处的像素来定义。而在几何变换中,的灰度值一般由处在非整( , )g x y数坐标上的的值来确定,即 g 中的一个像素一般对英语 f 中的几个像素( , )f x y之间的位置,反过来看也是一样,即 f 中的一个像素
10、往往被映射到 g 中的几个像素之间的位置。2.1.3 正交变换正交变换在该功能模块中主要包含了离散傅里叶变换、离散余弦变换、Radon 变换。(1)离散傅里叶变换离散傅里叶变换(DFT)在数字信号处理和数字图像处理中应用十分广泛。使用离散傅里叶变换的根本原因有二:一是 DFT 的输入、输出均为离散形式的,这使得计算机非常容易操作:二是因为计算 DFT 存在快速算法,即快速傅里叶变换(FFT),因而计算比较方便。在数字图像处理中,令 f(x,y)表示一幅大小为 MN 的图像,其中x=0,1M-1,y=0,1N-1。其离散傅里叶正反变换对为:11 2 (/)00( , )( , )MN jux M
11、vy NxyF u vf x y e 11 2 (/)001( , )( , )MN jux Mvy Nxyf x yF u v eMN 空间域是由 f(x,y)所组成的坐标系,其中 x 和 y 用作(空间)变量。频率系统是由 F(u,v)所组成的坐标系,其中 u 和 v 用作(频率)变量。由 u=0,1M-1,v=0,1N-1 定义的 MN 矩形区域常称为频率矩形。显然,频率矩形的大小与输入图像的大小相同。(2)离散余弦变换离散余弦变换是仅次于 K-L 变换的次最佳正交变换,且已获广泛应用,并称为多图像编码国际标准的核心。离散余弦变换的变换核为余弦函数,计算速度块,有利于图像压缩和其他处理。
12、如果数字图像用 MN 方阵表示,二维离散余弦变换的正反变换可简化为:1100(21)(21)( , )( ) ( )( , )coscos22MNxyxuyuF u vc u c vf x yMNu=0,1M-1,v=0,1N-1x=0,1M-11u 0 v 0(21)(21)( , )( ) ( ) ( , )coscos22MNxuyuf x yc u c v F u vMN1,y=0,1N-1其中: ,1(0)2(1,2,.,1)( )uMuMMc u1(0)2(1,2,.,1)( )vNvNNc v(3)Radon 变换所谓 Radon 变换,就是将原始图像变换为它在各个角度的投影表示
13、。图像f(x,y)在任意角度 上投影定义为( )( cossin , sincos )R xf xyxydy其中:2.1.4 图像增强图像增强在该功能模块中主要包含了空域变换增强、空域滤波增强和频域增强。其中空域变换增强包括直接灰度调整、直方图处理(直方图均衡化、直方图规定化),空域滤波增强包括平滑滤波(均值滤波、中值滤波)、锐化滤波(Unsharp 算子、Sobel 算子、Prewitt 算子、LOG 算子),频域增强包括低通滤波、高通滤波。图像增强按所用方法可分成空域增强方法和频域增强方法。前者是直接在图像所在的空间进行处理,也就是在像素组成的空间里直接对像素进行操作;后者是将原来图像空间
14、中的图像以某种形式转换到其他空间,然后利用该空间特有的性质方便地进行图像处理,最后再转换到原来的图像空间中,从而得到处理后的图像。(1)直方图均衡化算法:设Pf(fi)原始图像直方图,Pz(zi)期望输出图像的直方图, fj,zi0,L-1。a.列出原始图像灰度级fj, j=0,1,k,L-1; b.统计各灰度级的象素数目,nj, j=0,1,k,L-1; c.计算原始图像直方图Pf(fj)=nj/n,n为原始图像总的象素数目; d.计算累积分布函数c(f); e.应用转移函数gi=INT(gmax-gmin)c(f)+gmin+0.5 ,计算映射后的灰度级;f.统计映射后各灰度级的象素数目n
15、i, i=0,1,p-1; g.计算输出图像直方图Pg(gi)= nj/n,i=0,1,p-1; h.用 fj和 gi的映射关系,修改原始图像灰度级,获得直方图近似均匀分布的输出图像。(2)直方图规定化算法设Pf(fi)原始图像直方图,Pz(zi)期望输出图像的直方图, fj,zi0,L-1。a.分别对Pf(fj), Pz(zi)作均衡化处理,fjgm, ziyn;b.在gmyn处组合,Pf(fi) Pz(zi)。gm=T(fj), yn=G(zi), gmyn, zi=G-1T(fj)。(3)空域滤波平滑滤波平滑滤波本质上是一个低通滤波器,它主要用来使图像模糊或降低噪声。对图像识别的目的而言,图像模糊可去除妨碍重要特征抽取的小细节并使断线相连。对于脉冲型的高频噪声,平滑滤波可减轻此噪声的效应。平滑滤波主要包括:均值滤波和中值滤波。a.均值滤波:一个 33 平均滤波器所采用的一般模板如图所示,W1W2W3W4W5W6W7W8W9由此可明显看出其名称的由来。一般常用的还有 55 的模板,或 77 的模板。愈大的模板模糊效果愈强,相当于此滤波器的截止频率越来越低,高频部分被滤除越多。b.中值滤波:均值滤波往往不只是把干扰去除,还常把图像的边缘变模糊,因而造成视觉上的失真。如果目的只是要把干扰去除,而不是刻意让图像模糊,则中值滤波是很好的选择