摘 要: 数字图像处理是机器人视觉的关键技术之一,本文简要介绍计算机中数字图像定义与基本类型后,详细介绍了数字图像处理的常用方法,并对其优缺点与应用场合作扼要概述。接着引出数学软件MATLAB在图像处理方面的优势,分领域概述MATLAB在图像处理中的实际应用,并对其应用或开发的系统作简要评述。最后在总结全文的基础上提出下一步工作重心,基于MATLAB开发设计出一款数字图像处理系统,为机器人视觉计算等奠定基础。
关键词: 数字图像; 图像处理; MATLAB; 应用; 综述;
Abstract: Digital Image Processing(DIP) is one of the key technologies in robot vision, at the beginning of this paper the definition of digital image and its fundamental type are introduced briefly, then some common methods of DIP are summarized in detail, its relative merits and applications are concisely described. Next the advantage in image processing of MATLAB is discussed, its practical application is summarized by technology field and its arithmetic or the system is evaluated shortly. In the end conclude the paper and put forward to a DIP system based on MATLAB, preparing for robots vision calculation.
Keyword: Digital image; Image processing; MATLAB; Application; Overview;
0 、引言
图像通常有两类:一类是由无限稠密的点连续变化产生的模拟图像,如光学图像和电子图像;另一类就是以计算机方式采样并保存的数字图像。得益于计算机领域的急速发展,图像处理领域也在近年来逐步成长并完善成为相当实用的技术[1]。若无特殊说明,通常文献中提到图像处理均是表示数字图像处理。
数字图像处理技术是通过信号采集将连续信号采样为离散信号,运用计算机相关计算从中获取有效消息的技术,在科学研究、工农生产、道路出行、民生国防等诸多领域有很好的应用。本文解读数字图像处理相关内容,并结合MATLAB综述几个领域图像处理的应用实例,最后展望设计一款图像处理平台,为机器人视觉图像处理奠定基础[2]。
1、 数字图像处理技术
1.1、 图像处理
图像处理由于受到数据庞大、技术手段不成熟且处理难度高等因素的制约,其技术一开始并没有得到很好的应用效果。源于计算机技术急速发展,图像处理才有所进展。随着科技发展,除专人专用外现已鲜有用户用胶卷去获取图像,取而代之的是依靠数码相机、工业相机、摄像机、扫描仪或者其他移动设备,通过这一途径取得的图像均是数字图像,图像采样在获取图像的同时已经完成。常见的图像处理流程如图1所示。
图1 图像处理一般流程
Fig.1 Process of image processing
1.2、 图像处理目的
数字图像处理技术最初只是为了让图像的品质有所提升,将图像中不需要的部分消去,便于人们观察和识别。随着社会的大幅进步与生活节奏的改变与需要,图像处理也从改善视觉效果逐渐转变到更为深远的层面,一是图像在传输或保存时占用大量资源,继而发展出压缩编码等节省储存空间和提升信息的传输;二是根据图像中包含的特征信息,使计算机更迅速更准确地识别图片,为机器视觉与机器辨识提供便利;三从信息安全角度,图像处理还可以进行图像加密,防止隐私泄密、保护国家或个人信息安全等方面[3]。
1.3、 图像处理技术
1.3.1、 图像预处理
图像预处理包含图像运算和图像变换。图像运算描述图像由一种状态转换为另一种状态,包含以下几个方面:
(1)像素运算:最基本操作,处理每个像素值来修正图像显示效果。
(2)代数运算:理解为数组间的运算,可用作本身算术操作,也可用作复杂图像处理的准备工作。
(3)几何运算:可看成像素在图像中移动的过程。
(4)逻辑运算:包含位与、位或、位补、位异或和位移位等运算。
图像处理主要手段之一的图像变换很好地解决了空间域中计算大或无法处理的问题,主要包含:
(1)离散傅里叶变换DFT:信号处理中最重要、应用最广泛的变换,根据某种变换关系将信号从时域变换到频域,经变换后在频域进行处理。
(2)离散余弦变换DCT:类似于DFT,但只使用其实数部分,因其运算快而广泛应用于图像压缩编码领域。
(3)离散小波变换DWT:是对DFT的一个重大突破,在时域和频域均有较好的局部特性和能量集中特性,在图像压缩和分割等领域解决了许多DFT解决不了的问题。
1.3.2、 图像增强与复原
适当的图像增强,能在图像去噪的同时保留其特征,使图像更加清晰明显,为观察者提供更为准确的信息。图像增强的方法主要有:
(1)灰度变换增强:通过提高图像对比度,使图像像素值均匀分布或者满足某种分布状态来增强图像。
(2)空域滤波增强:在空域中计算每个像素的灰度值来增强图像。
(3)频域滤波增强:图像经某种变换到频域,由该域专有性质处理后把所得数据反变换回原先空域中得到增强后图像。
(4)彩色增强:根据人眼的视觉特性,通过对物体进行彩色合成、彩色显示或改变彩色分布来突出不同物体间的差别,以提高解译效果。
图像降质的因素是多样的,若不考虑其原因,是很难得到满意的复原结果的。图像在复原细节的同时必然会混入噪声,而去除噪声的同时也会一定程度上模糊边缘,一般要对图像的退化机理作分析。但这种退化机理较复杂,实际中常用的线性系统退化原因,用近似的退化函数来复原图像。图像复原方法有逆滤波复原、维纳滤波复原、盲去卷积滤波复原等。
1.3.3、 图像压缩编码
未经处理的图像本身占空间较大,对其保存、处理或传送占用大量资源,因此要对其进行相应的处理。由于原始的图像数据含有大量各类的冗余信息,可以通过技术手段减少甚至消除这些冗余,在期望的条件下用尽可能少的数据量重构图像,这就是图像压缩编码研究的内容。
压缩编码分无损编码和有损编码。无损编码是保留全部数据的压缩方法,常用算法有算术编码、Huffman编码、行程编码等,删除了图像中的编码冗余,对于颜色大体相同的图像压缩效果较好。有损编码的图像在还原时有一定程度的失真,但这种失真是可接受范围内的,如删除某些人眼无法察觉的颜色信息冗余。常用算法有预测编码、子带编码、统计分块编码和分形编码等,因其能获得很好的压缩比而在实际中应用很多,有如JPEG这样普遍应用的图像格式。
1.3.4、 图像形态学
数学形态学算法因其并行结构可以并行处理图像,优势便是使得图像处理更迅速。其基本运算有膨胀、腐蚀、开运算和闭运算,当处理二值图像时,形态学主要是用于提取处理所需的图像成分,基于4种基本运算可组合或推导出实际用途的算法,如边界提取、连通分量提取、凸壳、区域骨架的形态学算法等。当处理灰度图像时,利用4种基本运算可建立灰度级形态学算法,如形态学梯度运算边界提取算法、纹理区域分割算法、平滑及锐化处理算法等。这些算法在图像压缩、复原、分割、边缘检测、纹理分析或形状识别等领域非常有用。
1.3.5、 图像分割
一幅图像中既有“有效”的信息部分,又有“无效”的背景部分,有时候需要提取图像中某一个或某一些特定的对象,此时可根据这些对象具有的某种独特的性质,这些特定的性质可以是灰度、纹理、颜色或区域等,这就是图像分割。常用的分割方法有:
(1)边缘检测分割:检测不同部分的边界来分割图像,本质上是利用某种算法提取所需对象和背景间的分界线。
(2)阈值分割:按照灰度级整合像素集合,阈值的选取可以是多样的,各区域内具有相同的属性,使用较广泛,如二值化分割等。
(3)区域分割:解决了阈值分割阈值选取受限的问题,方法有区域生长法、分裂合并法等。
随着理论的推进,已有学者在图像分割中加入模糊理论、遗传算法、小波变换等研究成果,形成联合特定方法和面向特定图像的现代分割手段。
1.3.6 图像描述与对象识别
图像处理最后要达到的期望是对图像有一个客观的描述并且能够进行识别,涉及模式识别领域,要点是图像的特征提取。进行了前述一个或多个操作的图像预处理后,对图像进行特征提取,形成图像的客观描述,若注重于形状特征时,可采用外部表示法,若更侧重颜色、纹理等特征时,可采用内部表示法,当然很多时候会同时采取两种方法。抓取各对象间能代表本质差异的描绘子进行特征提取,得到计算机关于图像的认知,从而对图像进行比对、识别、分类等。常用的模式识别方法有决策理论方法、结构性方法和统计方法等。
2、 MATLAB应用
2.1、 MATLAB简介
三十余年前Math Works公司发布软件MATLAB,鉴于其良好的开放性、计算稳定和易于上手等优点,几年内就淘汰了当时市场上控制领域的软件如UMIST、LUND、SIMNON、KEDDC,成为国际控制界标准计算软件。如今MATLAB在数值计算方面首屈一指,广泛应用于控制设计、信号处理和图像处理,新版本中还加入了对C、C++、FORTRAN、JAVA的支持[4]。
2.2 、图像处理工具箱
MATLAB DIP Toolbox囊括二十多类百余种图像处理函数,如图像导入imread()、图像导出imwrite()、图像呈现imshow()、图像调整imresize()、图像直方图imhist()、二维DCT变换dct2()、霍夫变换hough()、边缘检测edge()、图像膨胀imdilate()、图像腐蚀imerode()等等。经过多年工程应用,很多科研工作者及编程爱好者也编写了许多经典的图像处理函数库,可直接修改调用,极大地方便了用户编程。
2.3、 图像处理应用
(1)工业生产领域
某些领域由于特殊的生产环境及粗糙的喷印状况,致使物资上的物料编码难以分辨,给企业的调度管理带来麻烦。为消除人工操作带来的弊端,实现物资自动化出入管理,图像处理技术在物料编码自动识别领域也大有作为。东南大学相关学者针对企业钢板自动识别的需要,设计一款基于数字图像处理的板号识别系统,该系统准确率达99.02%,在特殊工况下应用较好。图像处理在检测有色金属时也有较好的表现,如铜矿石种类繁多,组成成分复杂,性质、状态等存在明显的差别,依靠人为检测具有较大的难度。计算机图像处理与识别技术有效地解决了铜矿石复杂的组成成分带来的问题,实践中取得了更为精确的检测结果[5,6,7]。
(2)交通监管领域
智能交通系统关键的一步便是车牌自动识别,这也是建立在日益成熟的图像处理技术基础之上的,采用机器视觉及图像处理的方法代替人类视觉对图像进行分析,识别车牌号码。我国汽车保有量巨大,相应的车牌也较复杂。中文、英文、阿拉伯数字、特殊符号及颜色的组合提高了车牌识别的复杂程度,运用高级语言如C、C++等进行图像处理对程序能力要求高、难度大且日后维护困难,基于MATLAB计算能力优势及各类图像处理函数库可降低编程和维护的难度与麻烦,判别迅速,已有诸多学者将其应用在汽车牌照自动识别中,基于MATLAB的车牌识别反应灵敏、识别迅速,应用效果较好,在各类车型与日俱增的大环境下将会发挥出越来越多的作用[8,9,10,11]。
(3)监控安防领域
脸部特征是一个人的固有特性,发育成型的个体脸部能长期保持不变且个体间脸部特征迥异,是以考究身份的有力凭据。因其方便友好、识别被动、用户易于接受等优势,应用人脸图像来证实和判断身份成为国内外监控安防领域研究的热点之一。
当今人脸识别主流方法是Kirby和Turk等人为了解决高维度向量不紧凑及计算分析上的难度与复杂度而提出的主分量分析子空间方法,较成功的有线性判别分析法、主分量分析法、矢量量化法、独立元分析法等。基于二维人脸识别技术已日趋完善,在相关应用中得到了较好的识别结果,但当发生姿位、神态、化妆或者光照等变化显着时,识别效果不太理想。近年来,学术界已经着手研究三维人脸识别技术,借助如双目相机等手段获取景深,构造三维立体模型进行匹配,基于MATLAB强大的数学计算能力,使人脸识别技术朝着更加准确、高效、便捷的方向发展[12,13]。
(4)人工智能领域
由于中国人口基数大,老龄人口与残障残疾人口也数目众多,残疾人中尤以聋哑人数目最多。绝大多数人不能理解手语,传统的纸笔交流不仅费时耗力,还需极大的耐心,使得这部分残疾人在生活中与外界沟通时存在着极大的交流障碍,极易导致自卑心理甚至报复社会。在此背景下基于图像处理借助计算机、智能手机或其他智能穿戴设备的手势识别及表情识别便应运而生。已有学者通过MATLAB建立手势模型,利用分类识别的方法识别手势含义等,再借助人机交互设备进行行文显示,达到沟通迅速、便捷、无障碍是未来这一领域的目标方向[14]。
3 、总结与展望
数字图像处理技术借助计算机技术,能够实现图像处理的复杂运算,优势在于其精度高、应用面广、灵活性高及有很强的再现性,在许多领域和行业已得到广泛的应用。数字图像处理技术日臻完善的同时,也受到一些技术条件的限制,如数学理论的进步、计算机技术与性能的进展以及相关软硬件的发展等因素。
本文详细介绍了现阶段数字图像处理的有关技术以及图像处理MATLAB的相干应用,随着计算机硬件、通信技术以及其他科学技术领域新理论、新算法、新设备的提出,未来数字图像处理的应用领域将更加广阔,发展方向将是技术标准化、处理高速化、设备芯片化及智能化。项目下一步工作是基于MATLAB设计一款图像处理系统,为机器人视觉及后续工作提供一套可行性方案。
参考文献
[1]安从姝.关于图像处理技术现状及发展的分析[J].科技资讯, 2018, 25:72-73.
[2] Rafael C. Gonzalez, Richard E. Woods. Digital Image Processing[M]. Third Edition.北京:电子工业出版社. 2010.
[3]张薇,于硕.数字图像处理综述[J].论述, 2015, 9:258-259.
[4]秦贝贝,毛一敏,王艳梅. MATLAB在数字图像处理中的应用[J].无线互联科技, 2018, 12:135-136.
[5]相银堂,李奇.基于数字图像处理的钢板号识别系统设计[J].冶金自动化, 2018, 42(6):54-58.
[6]申宾德.数字图像处理技术在机械工程领域中的应用与研究[J].机械研究与应用, 2018, 2:170-172.
[7]许超,吴剑剑,廖开星,等.数字图像处理在核电厂安全壳外观检查中的应用[J].电子设计工程, 2019, 27(11):87-90.
[8]宋延爽.数字图像处理技术在智能交通中的应用研究[J].信息记录材料, 2019, 20(4):86-88.
[9]莫玲.图像处理技术在车牌识别中的研究[J].轻工科技,2018, 34(8):88-90.
[10]崔诗晨,迟宗涛.基于MATLAB的车牌识别的设计[J].工业控制计算机, 2017, 30(8):68-69.
[11]黄岳锐,黄楷佳.基于图像处理的车牌识别与字符分割及MATLAB实现[J].内蒙古科技与经济, 2019, 10:64-66.
[12]覃杰,乔涛.数字图像处理技术在视听资料证据中的应用研究[J].法制博览, 2015, 12:284-285.
[13]李雄伟,王秋云,杨昊亮.数字图像司法鉴定相关技术研究[J].法庭科学, 2018, 2:99-102.
[14]陈旭,张卓,赵越,等.数字图像处理技术在机器人方面的应用[J].技术研发, 2017, 24(3):44-45.