李 宏,谭家琪
(淮北师范大学物理与电子信息学院,安徽 淮北 235000)
图像增强技术主要完成两大任务:一是让图像更好看,使图像更加清晰。二是将原始的数字图像转换为有利于计算机分析处理的格式[1]。图像增强技术的研究与应用始于国外,早在上世纪60年代美国的一个军方实验室就利用该技术对月球地表照片进行处理[2]。我国的研究起步虽晚,但经过刻苦地追赶,如今已有领先之势。航空航天方面,搭载了图像增强装置的“嫦娥三号”探测器和“玉兔号”月球车,从月球发送回来更加高清晰的月球图像;医学方面,北京大学王健教授使用改进的拉普拉斯图像增强算法对关节镜所得图像进行处理,应用到对膝关节炎患者的诊断和治疗中去[3];农业方面,江西师范大学赖格英教授利用图像增强技术对卫星遥感得到的我国南方梯田分布图像进行处理,分析出许多重要的农业数据[4]。
但是以上应用都十分复杂,所用的设备与装置比较昂贵,背后需要的研究团队比较庞大,不适合以高校学生为主的图像增强技术的初学者学习使用,基于此,使用本科生几乎都会接触到的MATLAB软件进行图像增强方面的编程,并利用其GUI设计制作一款便于学习和实用的图像增强软件。
这款软件使用MATLAB的GUI编辑器进行编辑和编译,采用了下拉菜单结合工具栏式的软件设计方案,页面简洁大方,操作起来简单直接,主要实现以下功能:
(1)能够读入需要处理的图像,并能对处理好的结果进行保存。
(2)能够对原始图像进行画质增强,实现图像增强。
(3)能够进行图像类型转换。
(4)能够进行二次开发的功能,接入系统。
MATLAB的最小运算对象是矩阵,语法简单,这大大减低了编程的难度。最后,MATLAB工具箱大大提高了处理问题的速度。
GUI是一个可以实现人机交互的图形窗口界面,用户大多是不懂编程的,但是只通过鼠标点击按钮窗口等自己能看懂的控件,只使用键盘敲一些自己会说会写的语言,就能让计算机实现自己的要求
MATALB进行GUI的设计亦是非常简单,点击进入MATLAB,在命令行窗口键入guide并敲击回车键便进入了GUI界面的编辑窗口。操作如图1所示。
图1 进入GUI编辑器
编辑GUI界面,并写出每一个控件的回调函数。左键点击按键控件就能进入回调函数的脚本编辑器,在里面利用M语言编程。如图2所示。
图2 GUI编辑界面和回调函数编辑界面
最终GUI界面,如图3所示。
图3 GUI界面成品
(1) 调试小车,并把小车放入黑暗环境中。
(2) 控制小车的行进,观察楼道内的物体,并多次拍照。
(3) 当小车行驶到如图4所示的位置时(注:真实情况是在黑暗环境下,图4是在阳光下拍摄的,只是为了更清楚地表现小车与消防工具箱的相对位置),拍下照片后,实际拍摄的图如图5所示,显然图像分辨不出来细节。控制小车返回。
图4 小车和消防工具箱的相对位置
图5 小车拍摄到的图像
(4) 应用图像增强软件处理图5,记录并比对处理结果。
经测试该软件的所有控件都能使用,下面将经过图像处理后图像有明显改观的结果一一罗列出来:
如图6所示,原始图像输入软件,点击下拉菜单找到亮度增强的按键,点击后出现处理后的图像,可以看出原本由于黑暗被隐藏的彩色信息被凸显出来,轮廓也清晰可辨认。可以清楚地看出是一个消防工具箱,目标初步实现了。美中不足的是,工具箱上的文字信息没能显示出来,并且整体画质不高,部分原因是摄像头像素低,部分原因是算法适应性不强。
图6 亮度增强处理
如图7所示,同态滤波后,图像的色彩出现明显变异,仅仅在轮廓信息的增强上有可用之处,其他的不但作用不大,还引入了噪声。
图7 同态滤波
如图8所示,使用非线性灰度变化的图像,画质较干净,噪声不多。主要的缺陷是,图像亮度不高,细节不够突出。
图8 非线性灰度变换
综上,可以看出,图像增强处理不是一蹴而就的,当图像的某方面得到凸显和改善时,它的另一些方面多多少少会受到影响。要根据实际需要,一番权衡之后选择合适的图像增强算法。
本文主要设计了一款在MATLAB环境下运行的图像增强软件,并且围绕着软件制作出相应的硬件,即基于STM32单片机的图像实时传输智能车,又设计了在黑暗条件下遥控智能车对消防用具进行图像采集并通过图像增强识别出改消防用具的实验,亦是对人工智能在抗震救灾中的应用的一次模拟。