2022年2022年基于MATLAB的数字图像处理技术 .pdf
基于 MATLAB 的数字图像处理技术摘要:本文介绍了数字图像处理技术的发展及MATLAB 软件在图像处理中作用,通过对软件的介绍,人们可以对软件的操作和应用范围有进一步的了解。同时结合实例, 简要说明 MATLAB 在医学图像处理、 材料研究、监控录像滤波以及实验教学中发挥的作用。最后比较实验结果,能够满足人们对数字图像处理的要求。关键词: 数字图像MATLAB 图像处理中图分类号:Digital Image Processing Technology Based on MATLAB Abstract: This paper introduces the development of digital image processing technology and the function of MATLAB. People can make a further understanding about the operation and application range by learn the introduction. Then, with examples, this paper briefly explains its application in medical image processing, materials research, surveillance video filtering and the role of experiment teaching. Finally comparing the result of the experiment, it can meet the demands of image analysis and processing. Key words: Digital image MATLAB Image processing0前言数字图像处理技术伴随着计算机技术和 VLSY Very Large ScaleIntegration 的发展而产生、 发展和不断成熟起来的一个新兴技术领域, 它在理论上和实际应用中都取得了很大的成就。图像处理中输入的是质量低的图像,输出的是改善质量后的图像。常用的图像处理方法有图像增强、复原、编码、压缩等。从20 世纪 70 年代中期开始,随着计算机技术和人工智能、 思维科学研究的迅速发展,数字图像处理技术向更高、更深层次发展。人们已开始研究如何用计算机系统解释图像,类似人类视觉系统理解外部世界,这被称为图像理解或计算机视觉。数字图像处理技术的发展从20 世纪 90年代初开始。自1986 年以来,小波理论与变换方法迅速发展,它克服了傅立叶分析不能用于局部分析等方面的不足之处,被认为是调和分析半个世纪以来工作之结晶。Mallat 在 1988 年有效地将小波分析应用于图像分解和重构。 小波分析被认为是信号与图像分析在数学方法上的重大突破。随后数字图像处理技术迅猛发展,到目前为止,图像处理在图像通讯、办公自动化系统、地理信息系统、医疗设备、卫星照片传输及分析和工业自动化领域的应用越来越多。数字图像因其再现性好、处理精度高、适应面宽、 灵活性高和信息压缩潜力大等优点,在几何处理、算数处理和图像分析等方面广泛应用。MATLAB因其强大的矩阵运算能力, 在处理图像时能更好的发挥数字图像的特点。本文基于MATLAB软件,结合实例,对其在图像处理方面的应用做出简单介绍。1 MATLAB 软件简介1.1软件背景MATLAB是 Math works 公司于推出的一套高性能的数值计算和可视化软件,它集数值分析、 矩阵运算、 信号处理和图形显示于一体,构成了一个使用方便、界面友好的用户环境。此外,针对不同的应用领域,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 软件增加了信号处理、 控制系统、 神经网络、图像处理、小波分析、鲁棒控制、非线性系统控制设计、系统辨识、优化设计、统计分析、财政金融、样条、通信等30 多个具有专门功能的工具箱,这些工具箱是由该领域内的学术水平较高的专家编写的,无需用户自己编写所用的专业基础程序,可直接对工具箱进行运用。MATLAB中的数字图像是以矩阵形式表示的, 这意味着MATLAB强大的矩阵运算能力用于图像处理非常有利。矩阵运算的语法对MATLAB中的数字图像同样适用。1.2软件优缺点软件的优点主要有以下几个方面:1、界面友好。 MATLAB是一种以矩阵为基本变量单元的可视化程序设计语言,它的语法结构简单,数据类型单一, 命令表达方 式 接 近 于 常 用 的 数 学 公 式 , 这 使MATLAB用户在短时间内就能快速地掌握其主要内容和基本操作。2、 功能强大,可扩展性强。MATLAB语言不但提供了科学计算、数据分析与可视化、系统仿真等强大的功能,而且具有可扩展性特征。 各种工具箱中的函数可以互相调用,也可以由用户自己更改。MATLAB支持用户对其函数进行二次开发,用户的应用程序可以作为新的函数添加到相应的工具箱中。3、编码高效。 MATLAB 语句功能十分强大,一条语句可完成十分复杂的任务。它大大加快了工程技术人员从事软件开发的效率。 软件中所包含MATLAB源代码相当于 70 万条C 代码,我们选择采用这种语言实现图像处理算法,利用 MATLAB 强大的工具包,使算法易于实现。1.3软件的缺点软件的缺点主要包含以下几点:1、MATLAB是一种解释性语言,所以它的语言执行效率低,这对于实时性要求较高的领域,如自动控制、信号处理等,其实时效率较差。2、MATLAB程序不能脱离其环境运行,因此它不能被用于开发商用软件。3、程序可以被直接看到程序的源代码,因而不利于算法和数据的保密。1.4软件支持的图像类型MATLAB中的一幅图像可能包含一个数据矩阵,也可能包含一个颜色映射表矩阵,它包含4 种基本的图像类型:索引图像、灰度图像、RGB 图像和二值图像。此外, MATLAB还支持由多帧图像组成的图像序列。各种图像类型之间的转换关系如图1 所示:图 1图像间的转换1.5软件的图像处理方法MATLAB能够实现对图像的分割、增强。通过灰度处理、二值化处理、滤波处理等,检测图像中包含的特性,提取对我们有用的信息。本文分别从医学图像处理、材料金相研究、图像滤波和实验教学方面,说明其强大的图像处理功能。2 MATLAB 应用举例2.1医学图像处理方面的应用近年来, 许多数字化医学影像设备不断应用于临床, 产生了大量的医学图像。这些医学图像具有成像机理多样、数据结构复杂、数据量大等特点。而实现对医学图像的处理和分析是进行放射医疗诊断的前提和基础,因此具有相当重要的意义和价值。目 前 大 多 数 医 疗 成 像 设 备 都 符 合DI-COM310标准。 MATLAB中的Image ProcessingToolbox 工具箱包括了对DICOM格式的阅读、分析到存储的函数,也支持Analyze 715 和 Interfile 两种医学图像格式。因此在MATLAB(R2006b)环境中,可以直接利用 MATLAB所提供的医学图像处理函数来实现医学图像的处理和分析,而不必再关心图像文件的格式、读写、 显示和已有成果的技术细节;可以结合MATLAB强大的索引图像索引图像索引图像索引图像数据矩阵名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 数据处理能力及多种工具箱,把精力集中在新技术理论的研究上,快速有效地实现医学图像处理和分析。利用 MATLAB对 DICOM 格式进行处理,首先利用dicom info( ) 函数进行判断,然后用 dicom read( ) 函数进行读取,最后把图像显示出来。我们通过限定一个窗口,将窗口区域的图像数据线性地转换到显示器的最大显示范围内,高于或低于窗口上下限的图像数据则分别设置为最高或最低的显示值。这样通过动态地调节窗口的窗宽和窗位,就可以观察到医学图像的全部信息。根据分析图像的需要,可以通过调节显示范围或滑动鼠标, 自由的调节对比度来显示图像的不同组织。图像显示效果如图2 所示。a 皮肤组织 b 骨骼组织图 2 图像显示效果除了图像显示,MATLAB还可以进行图像类型转换。其方法是,先用阅读函数将文件读入工作空间;然后用写入函数以适当的格式保存文件。 因此可以方便地实现医学图像格式与其他格式之间的相互转换,以利于医学图像的传输和应用。数据类型与指定的图像信息不一致,只要转换成对应的数据类型即可,指定的参数如表1 所示。表 1 函数可变参数列表选项描述Endim 文件字节储存方式:big or littleVR 数据类型是否表明:explicit or implicitCompression Mode 图像压缩类型: JPEG lossless ,JPEG lossy,RLE or none Transfer Syntax 数据传输协议:指定时dicomwrite 自动填写 Endim,VR 和 Compression Mode选项Dictionary 含有私有数据的DICOM 数据字典Write Private 判断是否写入私有数据:true or falseCreate Mode 数据写入方式: creat 验证输入值并补充缺少值, copy 复制输入值不补充缺少值2.2材料研究中的应用MATLAB图形工具箱从简单的点、线、面处理发展成集二维图像、三维图形甚至四维表现图和对图形进行着色、消隐、光线、渲染及多角度处理等多项功能于一身的强大功能包。 MATLAB图形处理工具箱有一百多种工具函数,包括图像类型转换、图像文件 I/O 和显示、线性滤波、 图像统计分析、图像增强、图像的形态学分析、二值图像处理等 10 个方面。可见 MA TLAB 图形图像功能完全能够胜任铸件充型过程、凝固过程的模拟分析后期图形可视化处理工作和定量金相分析工作, 能够成为材料工作者的高效帮手。假设前期的充型过程和凝固过程模拟数值计算已完成,重点放在后期可视化处理,我们要进行定量金相分析。基本思路:读入原始图像,经过图像增强、滤波处理、边缘检测后将其转换成灰度图像,选取合适的阈值将灰度图像转化成二值图像,再根据实际需要对二值图像进行形态学图形处理、对像操作、特征提取等处理。对处理满意的二值图像矩阵随机取n(n 20)行向量或n 列向量,计算这些向量中值为1 的元素个数及向量中元素的总个数,求出点分数PP。同样得到单位测量线上的点数PL 和单位测量面积内的点数PA。根据这些参数,利用体现学公式计算所需的三维组织特征参数。分析之前采用扫描仪将金相图片转换成图形文件,并存入硬盘中。以温度场可视化处理和定量金相分析为例说明Matlab 的应用效果。采用 Matlab 软件模拟一直径为8 mm 的钢球包埋在边长为10 mm 的正方体金属型中冷却过程,其中钢球初始温度为570,空气、金属型初始温度为20。现绘其中的某一时刻温度云图和等温图见图3 和图 4。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 图 3 温度云图图 4 三维等温图对图像中某一区域进行处理时Matlab提供了 4 个函数支持特定区域的选择、滤波和填充:1、 roipoly :由用户交互地选择多边形区域, 用鼠标左键, 空格或 Delete 键撤消选择,回车键确认;2、roicolor(A ,low,high):选择图象A中灰度范围为 low high 的区域;3、roifilt2(h ,A,BW) :对图像 A 中对选定区域使用滤波器滤波;4、roifill(A) :由用户选择填充的多边形区域,用鼠标左键选角点,空格或Delete键撤消选择,回车键确认。根据实际需要对通过以上处理后的图像矩阵,随机选取合适数量的行数或列数,计算出这 n 行向量或列向量中值为1的元素个数及向量中元素的总个数,就可以求出点分数PP。同样可以得到单位测量线上的点数 PL 和单位测量面积内的点数PA。 根据这些参数,利用体视学公式就可以计算所需的三维组织特征参数。最终分析效果图如图5。图 5 金相二值图2.3监控图像滤波方面的应用在交通事故的图像处理过程中,经常会用到摄影和摄像, 而且立体视觉量测是交通事故现场勘察中的一个重要发展方向,该方法要求有精确的质量。在图像采集模块中,当使用 CCD 摄像头采集图像时,由于目标图像本身变形或模糊,或存在微小而粗糙的障碍物附在目标图像或CCD 摄像头镜片上,使得采集到的图像与理想的原始图像相比, 图像质量劣化.由于交通事故肇事的人和车辆事后具有难于恢复的特征,必须对图像的噪音进行去除, 以保证现场研究和立体摄影量测的需要, 所以研究车辆图像的滤波特点,以合理的方式进行时选择是非常必要的。图像在理论上是一种二维连续函数,在计算机上处理图像,首先要对其在空间和亮度上进行数字化,即图像的采样和量化,得到一幅离散化成M N 样本的数字图像,显然用矩阵来描述该数字图像是最直观最简便的了。而Matlab 的长处就是处理矩阵运算,Matlab 软件还具有针对不同应用学科的工具箱 (toolbox) ,其中图像的处理工具箱(ImageProcessingToolbox) 是由 一 系 列 支 持图像处理操作的函数组成,可以滤波器设计等图像处理操作,支持五种图像类型,即索引图像、灰度图像、二值图像、RGB 图像和多帧图像阵列;支持BMP、GIF、HDF 、JPEG、PCX、PNG、TIFF、XWD 、CUR 、ICO 等图像文件格式的读、写和显示。常见的滤波器有均值滤波器、中值滤波器、维纳滤波器等 1 。前两者属于空域滤波的范畴, 维纳滤波属于一种自适应的频域滤波。由实验得知,在这种情况下,均值滤波的滤波效果比较好,能够保持原来图像的特点和层次, 中值滤波维纳滤波效果损失了图像的层次,图像的部分细节损失。所以,在进行车辆图像滤波时,如应用传统方式,应首选均值滤波。小波变换是一种多尺度分析方法,具有多分辨率分析的特点 2 ,而且在时频两域都具有表征信号局部特征的能力,是一种窗口大小固定不变,但其形状可变,时间窗和频率窗都可变的时频局部化分析方法。即再低频部分具有较高的频率分辨率和时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,从理论上分析适合图像噪声的滤波处理.本研究设计的图像去噪过程如下:1、二维信号的小波分解。选择一个小波和小波分解的层次N,然后计算信号s 到名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 第 N 层的分解。2、对高频系数进行阈值量化.对于从一到 N 的每一层, 选择一个阈值, 针对每一层的高频系数进行软阈值化处理。3、二维小波的重构.根据小波分解的第N 层低频系数和经过修改的从第1 层到第 N层的各层高频系数,来计算二维信号的小波重构。处理后前后对比效果图如图6 和图 7。图 6 含噪声图像图 7 小波滤波图像消噪后的图像质量优于常规滤波器中处理车辆图像效果最好的均值滤波,图 7 中显示车的表面光滑细腻,小孩的头发、 衣服的纹理均比图6 中的清晰可见, 图像明显特征均已保留。2.4实验教学中的应用随着计算机技术的迅速发展,数字图像处理已成为系统研究图像理论、技术及其应用的一门专业课程。为便于学生系统、全面的掌握该课程的基本原理和经典算法,特别强调学生采用计算机语言进行数字信号处理编程、 仿真的上机实验环节。学生通过上机实验, 可以提高动手编程能力,增进对数字图像处理流程的认识,加深对数字图像处理理论知识的理解。下面给出其中具有代表性的一个实验,图像变换中的离散傅里叶变换,一般课程中的傅里叶变换实例都是数据到数据,而本课程的实验内容是图像到图像,因此在理解变换原理的同时, 可以通过变换前后的图像实例来进行说明, 直观地表达傅里叶变换的作用,并通过实验实践来加深对傅里叶变换和其性质的理解。对图像进行的二维离散傅里叶正反变换如下:10)(210),(),(MxNyMxjNyeyxfF10)(210),(1),(MNyMxjNeFMNyxf离 散 傅 里 叶 变 换 旋 转 不 变 性 的MATLAB 实现如下:图 8 测试图像图 9 傅里叶变换图旋转30 后的测试图及增强后的二维离散傅里叶变换如下:图 10 旋转测试图图 11 增强后傅里叶图由图可知,空域中图像旋转一定角度,它的傅里叶变换也旋转同样大小的角度。对于图像二维离散傅里叶变换的其它性质也可以通过实验直观验证。3结论1、实践证明,使用图像工具箱中的医学图像处理函数, 可以方便快捷地实现医学图像的读写及简单处理功能。在MATLAB环境中可以方便、快速、 有效地实现复杂医学图像处理算法, 对医学图像的处理和分析具有很大的应用优势和价值。2、MATLAB 强大的图形图像功能能够方便地实现铸件充型、凝固模拟分析后期处理图形可视化处理和定量金相分析功能。温度场可视化处理和定量金相分析结果达到人们的要求。3、 在 监 控 图 像 滤 波 过 程 中 , 运 用MATLAB小波去噪能够保留拍摄主体的主要特征, 使图像更加清晰明了,满足图像预名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 处理要求。 . 4、将MA TLAB 引入到数字图像处理的实验教学中,通过仿真演示,使抽象的问题具体化、生动化,实现了教学和实验验证的同步进行。教学实践证明,MATLAB 的应用大大提高教学效率,凝聚了学生观察力,扩展了学生的思维空间,取得了良好的教学效果。参考文献 1 高向军,田联房,王立非,毛宗源 . 利用 MATLAB实现医学图像处理与分析J. 计算机应用研究, 2008,06: 1747-1749.GAO Xiangjun, TIAN Lianfang, WANG Lifei, MAO Zongyuan. Achieving processing and analysis of medical image by MATLAB J. Computer Application Research, 2008, 06: 1747-1749. 2 张新平 . Matlab 图形图像处理在材料研究中的应用 J. 铸造技术, 2003,05: 375-377.ZHANG Xinping. Application of Matlab Graph and Image on Materials Research Field J. Casting Technology, 2003, 05: 375-377. 3 陶泽明,裴玉龙,杜文刚. 基于 MATLAB 的车辆图像滤波 J. 哈尔滨理工大学学报,2008,01: 18-20+28.TAO Zeming, PEI Yulong, DU Wengang. Vechicle Image Denoise Based on MatlabJ. Journal of Harbin institute of technology university. 2008 , 01: 18-20+28. 4 曹芳,赵继勇 . MATLAB 在数字图像处理实验教学中的应用 J. 科技信息, 2010,34: 111.CAO Fang, ZHAO Jiyong. The Application of MATLAB in Experiment Teaching of Digital Image ProcessingJ. Science and Technology Information, 2010, 34: 111. 5 成礼智 . 离散与小波变换新型算法及其在图像处理中应用的研究D. 国防科学技术大学,2002.CHENG Lizhi. The Discrete Wavelet and New Algorithm and Its Application in Image ProcessingD.National University of Defense Technology, 2002名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -