◆井荣枝
基于MATLAB的安全效用及其在仿真图像处理中的应用
◆井荣枝
(郑州大学西亚斯国际学院 河南 451150)
图像处理技术是上个世纪60年代兴起发展学科,发展至今已经有几十年的历程。在计算机技术快速提升的环境下,图像处理技术也得到了十分广泛的普及应用。在工业自动化、医学治疗、地质探测领域,图像处理技术都有着十分重要的作用。本文主要针对MATLAB及其在图像处理中的应用进行研究。
MATLAB;图像处理;函数运算
MATLAB是近几年来应用最为普及、最为广泛的主流软件之一,其语言构成简单,数值计算能力强,数据分析功能强大、图像处理绘制技术高,拥有超高质量的图形可视化效果以及丰富的界面设计能力。在图像处理中,MATLAB拥有其他软件无比拟的显著优势。MATLAB的图像处理工具箱拥有丰富而齐全的图像处理函数,覆盖了图像处理的所有内容,并且使用起来便捷、高效。
MathWorks根据不同的应用领域前后推出了信号处理、神经网络、图像处理、系统识别等不同的工具软件。这些针对不同应用领域应用的工具是较高水平的专门工具箱,用户可以直接使用,不需要再另外编写相关的专业基础程序。另外,上述工具箱中所涵盖的函数源程序也是相对开放的,大多数均为M文件,用户在使用过程中可以查看相关文件的代码并且调整。MATLAB可以支持用户对其原有的函数进行二次开发,用户的应用程序也可以当做新的函数被添加到相应的工具箱当中。MATLAB的指令传递与数学、工程中十分常见的习惯很接近,很多使用C或者Fortran处理难度较大的问题就可以使用MATLAB来进行解决,并且十分轻松高效。值得注意的是,当前MATLAB的最新版本几乎囊括了神经网络的最新研究成果,其所包括的网络模型包括线性网络、自组织网络、回归网络等。对于各种不同网络类型来说,MATLAB还可以为用户在设计网络安全系统方面提供极大的便捷。
MATLAB是一种已经普及应用的语言,在图像处理方面显示出了十分强大的生命力,这是由于MATLAB拥有与其他语言不同的、显著的特征。就像Fortran与C语言一样让人们摆脱了需要直接面对计算机硬件资源开展操作相同,MATLAB的便捷程度已经被誉为第四代的计算机语言,MATLAB丰富的函数资源替代了繁琐的程序代码编写工作。MATLAB拥有以下特点:(1)功能丰富强大。MATLAB拥有十分丰富而齐全的工具箱,分为核心工具与可选工具。其中核心工具箱可以分为功能工具箱以及学科性工具箱,其中功能性工具箱主要用于进行符号计算、开展建模仿真、进行文件处理等;学科性工具箱的专业性较强,其包含了control toolbox、image processing toolbox等。(2)人机交互友好。MATLAB最为突出的特征就是简洁明了,MATLAB运用直观、影响的代码来替代了C语言以及Fortran语言,让用户可以面对最为直接,最为简洁的程序开发环境。(3)开放性强。MATLAB的扩充性良好,其中的工具箱可以自由使用,用户也可以根据需求进行第二次开发。MATLAB的功能强大,其拥有齐全的数值计算功能、符号计算功能、数据分析功能、图形文字统一处理功能等等[1]。
图像处理是当前一项十分常见的工作。早在上个世纪60年代,美国喷气实验室利用计算机技术对大量月球照片进行了处理,获得了十分清晰的图像,至此以后图像处理技术开始在各个领域广泛应用。图像处理的领域十分宽广,从学科上来划分可以将其分为图像的数字化、图像的变化、图像的恢复、图像的压缩等。MATLAB包含了众多图像处理函数,覆盖了图像处理的几乎有所的技术方法。
2.1 图像增强功能
在图像处理中图像增强是一种十分常见的方法,其主要过程即为用一系列技术来优化图像的视觉效果,将图像转变成为一种能够更加适合人眼观察或者机器设备自动分析的方式。基于MATLAB下常见的图像增强方法主要有以下几种:
(1)灰度直方图均衡化。均匀量化的自然图像的灰度直方图一般在低灰度区间中的频率较为突出,会导致图形中较为灰暗的区域变的模糊。而利用直方图处理则可以使得图像中灰度家中的区域变得均匀平整,使得图像的细节变得更加清晰可见,从而实现增强图像效果的目的。在MATLAB中,直方图均衡化可以通过histeq()函数来实现。
(2)灰度变换。通过摄像或电子方式获得的图像往往都会存在对比度低的问题,图像的整体感受偏亮或偏暗。灰度变换即为对图像中像素的灰度值进行调整,使得图像的灰度动态范围得到一定程度的扩展,提升图像的对比度,让图像成像变得均匀,清晰度上升,从而实现提升图像质量的目的。在MATLAB中可以通过函数imadjust。
(3)平滑与锐化滤波。平滑技术可有效处理图像中的噪声,通常使用空间域重大中值或平均值。在灰度连续变化的图像当中,一般可以认为相邻像素灰度差异明显的凸点为噪声。灰度突变即为一种高频分量,而使用低通滤波则可以降低图像的高频成分,使得图像的信号更加平滑[2]。但是这一技术的应用也会导致图像区域边界变得不够清晰。而锐化技术使用的是频域中高通滤波的方式,可以通过提升高频的成分来弱化图像中模糊的效果。尤其是可以针对图像模糊的边缘进行增强,但是与此同时图像的噪声也被放大。在MATLAB 中不同的滤波方法都是在空间域中利用滤波算子来实现的。可以利用fspecail()函数来建立滤波算子,进而使用含糊conv2()来进行卷积运算并且滤波。
2.2 空间滤波
在图像处理中往往会遇到图像中夹杂着噪声的情况。所以,在进行图像出的过程中有必要先对噪声进行去除操作。而对图像处理,去除噪声最为直接的方式就是使用滤波设备来进行滤波处理。在对图像中的像素进行滤波处理的过程中,如果邻域中的像素计算为线性,则使用的消除噪声技术为线性空间滤波技术,反之该技术为非线性空间滤波技术。
(1)线性空间滤波技术。利用MATLAB图像处理中拥有函数fspecial()以及实现线性空间滤波函数imfilter()[3]。
(2)非线性滤波器。MATLAB的图像处理工具中拥有两个函数来实现常规的非线性滤波,这两个函数分别为nlfilter和colfilt。其中,函数nlfilter可以直接进行二维操作,函数colfilt则可以通过列的方式来集合数据。虽然函数colfilt相对于函数nlfilter来说要占用更大的内存,但是执行速度要显著高于nlfilter。因此,在使用非线性滤波器对图像进行处理时如注重处理速度则更多的会选择colfilt。
在日常生活中图像是十分重要的信息载体,图像处理技术成为了发挥图像价值的重要环节。在图像处理技术中,MATLAB是一种常用的软件,其功能强大,涉及专业领域广泛,几乎可以实现所有的图像处理方法。灰度直方图均衡化,灰度变换,平滑与锐化滤波都可以利用MATLAB轻松实现。
[1]孙进,曹肖伟.VB和MATLAB混合编程及其在图像处理软件中的应用[J].机械工程与自动化,2015.
[2]MarkiewiczTomasz.Using MATLAB software with Tomcat server and Java platform for remote image analysis in pathology[J].Diagnostic Pathology,2011.
[3]陆秋菊,陈忠泽.视网膜的视觉生理功能、数学模型及其在图像处理中的应用[J].信息与电脑(理论版),2010.
课题:2017年度河南省高等学校重点科研项目,《基于农业物联网的农作物病害识别方法研究》,(项目编号:17A520017)。