APP下载

基于Matlab数字图像处理计算机辅助教学方法研讨

2022-03-16宁志刚尹军利李圣夏云芝

教育现代化 2022年2期
关键词:灰度滤波运算

宁志刚,尹军利,李圣,夏云芝

(南华大学 电气工程学院,湖南 衡阳)

一 引言

数字图像处理是一门多学科交叉学科[1-3],与机器视觉一脉相承,与光电成像、信号处理、软件编程和数学算法等相关。数字图像处理知识比较繁杂,概念比较多,理论性比较强,很多知识点不好理解[4]。数字图像处理对实践教学环节要求比较高,要求学生既要理解相关的理论和算法,又能动手解决一些实际问题。对于复杂的概念、繁琐的数学推导和复杂的图像处理算法,大多数同学学起来都会感到不好理解,产生畏难情绪,逐渐丧失学习这门课的兴趣。所以,教这门课时一定要采取合适的教学方法,让学生理解和掌握相关的概念、算法,体味学习这门课程的乐趣。数字图像处理教学既要注重理论知识和算法的讲解,又要想办法培养学生的实践动手能力。Matlab学起来不难,编程技巧容易掌握。Matlab软件具有图像处理工具箱和许多图像处理函数,能使图像处理运行结果可视化[5-6],便于学习和验证一些图像处理算法。在理论教学过程中让学生观察生成的图片和一些中间数据,以增加学生的感性认识,提高学生的学习兴趣[7-8]。教师可以分析生成的图片和中间数据,让学生较容易理解和掌握深奥的理论知识。

二 分析学习数字图像处理的意义

在讲授这门课程时,先要让学生弄清楚学习这门课程的意义,从而激发学生学习这门课程的兴趣和学习动力。许多数字图像处理方法都是根据仿生机理得到的,例如图像采集就是参照人眼成像原理,双目视觉和3D成像也是参考人双眼观察外部事物的机理,神经网络或深度学习就是仿照人的神经系统思维模型。学生学完这门课程后,可以根据仿生机理学习和研究一些算法,设计一些机器视觉系统。人从外界获得的信息当中,80%以上的信息都是通过视觉获得的。与其他传感器相比较,视觉传感器获得的信息量要大得多。人工智能是目前的研究热点之一,机器人是人工智能具体应用对象,机器人从外界获取的大量信息通常是通过机器视觉获得的。为了提高我国的综合实力,国防、工业和农业都在加速发展,各行各业都向数字化、信息化、智能化方向发展,数字图像处理在很多领域得到应用和发展。中国“祝融”号火星车在火星上拍摄了一些图像,并把这些图像传回给几千万公里以外的地球。“玉兔”号月球车成功登陆月球背面,并传回大量的图片。大量遥感卫星在地球上空运行,遥感图像最高分辨率可达到零点几米。在一些高辐射、有毒和高温场合,必须采用机器人代替人从事相关的检测和控制工作。例如,在福岛核泄漏事故中,须利用机器人完成相关的检测工作。国防科技大学成功开发了非结构化道路无人战车,一些汽车生产商开发了无人驾驶智能车辆。大街小巷和智能小区都安装了摄像头,用来进行交通管理和安防监控。机器视觉可以提高测量精度,精度可达到亚像素级别,测量精度可达到千分之一毫米。为了减少劳动成本和提高生产率,工业和农业都采用大量机器视觉设备。许多工业生产线都装备了用于检测的机器视觉装置和用于控制的机器手或机器臂。在农业方面,许多科研部门正在研发自动播种机、自动插秧机、喷药无人机、自动收播机和采摘机器人。通过讲解这些鲜活的案例,让学生知道学好这门课的重要性,了解数字图像处理应用领域十分广阔,应用前景十分看好,树立学好这门课的信心。

三 理论课程教学采用MatIab计算机辅助教学

对于数字图像处理理论课程教学,传统的教学模式是“课件+板书”模式。这种灌输式教学模式的教学效果不好,学生学起来容易感到枯燥无味,很难理解和掌握课程的重点和难点。结合数字图像处理的特点和Matlab软件的优势,数字图像处理理论课程教学可采用Matlab计算机辅助教学。教学时,教师先讲解理论知识的要点,然后通过Matlab运行相关的例程或指令。这种教学模式具有一些优势,具体为:(1)将抽象的理论形象化,能够培养学生的形象思维能力。教学过程中引入一些具体的案例,通过观察具体的图像能激发学生的思维兴奋点,可提高学生的学习兴趣。这种教学能够活跃课堂气氛,提高教学效果。(2)教学时引入仿真案例,做到理论联系实际。教学过程中,教师可展示生成的图像和相关运行数据,分析运算结果。这样可以验证具体的算法,帮助学生理解和消化相关的知识点,优化课堂教学,提高教学质量。(3)采用Matlab计算机辅助教学,可将研讨式、启发式等教学方式应用到教学过程当中。教学时,通过观察运算结果,分析和讨论具体的算法,修改程序代码,启迪学生思维,引导学生探究其中的奥秘,从而提高分析问题和解决问题的能力,提高工程应用能力和工程创新能力。

四 MatIab计算机辅助教学案例分析

(1)案例一:图像代数运算。图像代数运算包括加法、减法、乘法和除法运算。Matlab中图像默认数据类型为uint8,数据取值范围是0~255。如果运算结果或中间值超过这一范围,就会出现饱和溢出现象。图像进行加法运算时,如果对应像素灰度值之和大于255,Matlab就会将数据截取为数据类型支持的最大值255。图像进行减法运算时,如果对应像素灰度值之差小于0,Matlab就会将数据截取为数据类型支持的最小值0。double数据类型是小数,数据取值范围是-1.79769313486231570E+308~+1.797 69313486231570E+308。对于图像代数运算,如果把uint8数据类型转换为double类型,运算结果就不会出现饱和溢出现象,运算结果就不会出错。在进行图像代数运算时,分别采用两种数据类型进行图像代数运算实验。打开工作空间窗口,查看变量的类型和变量数值矩阵,对比分析运算结果,总结图像代数运算的注意事项。

(2)案例二:图像增强。空域内图像增强的主要目的是改善图像的视觉效果,提高图像的可辨识度。图像增强就是调整灰度图像的明暗对比度,对图像中各个像素的灰度值直接进行处理,增强原图像相邻像素灰度的反差。针对所给定图像的应用场合,有目的地强化图像的整体或者局部特性,使原来不清晰的图像变得清晰,突出某些感兴趣的特征(例如边缘信息、轮廓信息、对比度),扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征。直方图均衡化是由概率密度和分布函数得到的图像增强方法,目的是使不同灰度值像素的个数(或不同灰度值像素个数与图像总像素个数比值)近似相等。分段线性灰度变换用来突出图像中感兴趣对象,采用局部扩展拉伸某一范围的灰度值,或者对不同范围的灰度值进行不同的拉伸处理。分析直方图均衡化工作原理,分别采用线性灰度变换、分段线性灰度变换、非线性灰度变换和直方图均衡化进行图像增强,查看图像增强后的视觉效果,对比分析图像增强前后的灰度直方图。

(3)案例三:图像空域滤波。中值滤波主要用来滤除椒盐噪声,均值滤波和维纳滤波主要用来滤除高斯噪声。滤波窗口越大,往往滤波效果越好,但图像细节会遭到破坏。分析均值滤波、中值滤波和维纳滤波工作原理,给图像分别添加高斯噪声和椒盐噪声,分析和比较不同类型滤波器的滤波特性和滤波效果,分析窗口大小对滤波效果的影响。

(4)案例四:傅立叶变换及频域滤波。图像傅立叶变换是将图像的灰度分布函数变换为图像的频率分布函数。图像二维傅立叶变换得到的频谱图,实质反映图像梯度分布情况。梯度分为水平梯度和垂直梯度,梯度的平方和再开方就是该点频率的大小。频谱图上看到的明暗不一的亮点,实际上反映图像二维傅立叶变换某一频率幅值的大小。若某一频率对应的幅值越大,则频谱图中该频率处越亮。频谱图中高频信号对应于原图像中边缘和噪声部分,频谱图中低频信号对应于原图像中平滑区域。分析二维傅立叶变换工作原理。对图像进行二维离散傅立叶变换,在工作空间窗口中查看变量数值矩阵的元素是否复数,验证图像傅立叶变换旋转不变性和纵横性。分别选取不同的截止频率,查看高通滤波器和低通滤波器的滤波效果。分析同态滤波工作原理。同态滤波能减少低频分量,增加高频分量,减少光照变化,锐化边缘细节,达到揭示阴影区细节特征的目的。同态滤波能调整图像灰度范围,通过消除图像中照明不均的问题,增强暗区的图像细节,同时又不损失亮区的图像细节。对照度不均匀图像进行同态滤波,检验滤波效果。

(5)案例五:图像分割。图像分割主要包括基于区域的图像分割方法和基于边缘的图像分割方法。采用基于区域的图像分割方法对图像进行分割,分割的图像通常存在过分割现象。采用基于边缘的图像分割方法对图像进行分割,分割图像的边缘通常不连续。Canny边缘算子既能滤除噪声,又能保持边缘,提取边缘的连续性较好。分析边缘提取工作原理,分别采用Roberts算子、Prewitt算子、Sobel算子、Laplacian算子、LOG算子、Canny算子提取图像的边缘,查看边缘提取后的图像是否二值图像。采用双峰法分割图像,根据灰度直方图确定分割阈值,对比分析采用不同阈值分割图像的效果。分析Otsu阈值分割法、迭代式阈值分割法工作原理,分别采用这两种分割法分割图像,查看分割阈值的大小。分析分水岭分割法的工作原理,采用这种多阈值分割法分割图像,查看工作空间窗口中生成图像对应变量矩阵的取值。

(6)案例六:形态学处理。膨胀将与物体接触的所有背景点合并到该物体中,使边界向外部扩张。通过膨胀,可以填充图像中的小孔、图像边缘处的小凹陷部分。腐蚀能消除边界点,使边界向内部收缩。利用腐蚀操作,可以消除较小的无意义物体。开运算使图像的轮廓变得光滑,断开狭窄的连接,消除细毛刺,消除细小物体,在纤细处分离物体。闭运算使轮廓变得光滑,弥合狭窄的小裂缝,填充比结构元素小的洞(即小孔),连接邻近物体。结构元素是膨胀和腐蚀的最基本组成部分。二维结构元素是由数值0和1组成的矩阵。结构元素的原点指定了图像中需要处理的像素范围,结构元素中数值为1的点决定结构元素的领域像素在膨胀或腐蚀操作时是否参与运算。分析膨胀、腐蚀、开运算、闭运算原理、实现过程和作用。讲解结构元素的定义,在Matlab中利用help指令运行strel函数,查看各种结构元素具体形状。在Matlab中对特定的二值矩阵分别进行膨胀、腐蚀运算,观察生成的二值矩阵,验证膨胀、腐蚀实际运算过程,掌握结构元素原点确定方法,分析结构元素大小选择的原则。对图像分别进行开运算、闭运算操作,根据生成的图像验证开运算、闭运算的作用。

(7)案例七:彩色目标提取。彩色图像模型包括RGB模型、HSV模型、CMYK模型、YUV模型、YCbCr模型、I1I2I3模型等,I1I2I3模型适合提取彩色图像中的目标。分析各种色彩模型特点和相互转化方法。从彩色甜椒(由青甜椒和红甜椒组成)图像中提取甜椒,分别查看R、G、B、I1、I2和I3色彩通道直方图。经比较发现,只有I2色彩通道直方图具有明显的双峰。所以,对I2分量图进行图像分割,可以分割出甜椒图像。通过这个例程告诉学生彩色目标提取方法,I1I2I3色彩模型对彩色图像具有较好的分割效果。

五 结语

数字图像处理教学采用Matlab计算机辅助教学方法,获得了较好的教学效果。采用这种方法进行课堂教学,能增强课堂教学的互动性,很容易吸引学生的注意力,使学生全身心投入教学过程当中。这种教学方法能够使学生较好地掌握了复杂的理论知识,提高了发现问题、分析问题和解决问题的能力,提高了数字图像处理Matlab编程能力,为学生从事科技活动、就业和深造奠定了良好的基础。

猜你喜欢

灰度滤波运算
采用改进导重法的拓扑结构灰度单元过滤技术
重视运算与推理,解决数列求和题
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
有趣的运算
基于最大加权投影求解的彩色图像灰度化对比度保留算法
“整式的乘法与因式分解”知识归纳
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
基于像素重排比对的灰度图彩色化算法研究