朱丹 于书靖 苏洪波
【摘 要】线性代数教学中,发挥MATLAB数据可视化优势,从数字图像处理的角度阐释矩阵的相关概念及运算,丰富教学案例,开展创新教学实践。
【关键词】线性代数;数字图像处理;实验教学;MATLAB
中图分类号: O151.2-4;G642 文献标识码: A文章编号: 2095-2457(2019)31-0118-002
DOI:10.19694/j.cnki.issn2095-2457.2019.31.056
【Abstract】In linear algebra teaching,we interpret concepts of matrix and matrix manipulation from a digital image processing perspective with the help of advantage of MATLAB in data visualization. Teaching cases are enriched and invovative practice teaching is explored.
【Key words】Linear algebra;Digital image processing;Experimental teaching;MATLAB
1 利用MATLAB数据可视化,突出线性代数教学的直观性和实用性
线性代数课程教学,在充分利用MATLAB软件强大的数值计算功能的同时,还可充分挖掘其数据可视化功能,使之教学内容深度融合、完美契合。作为线性代数课程的一个主要研究对象——矩阵,其实质就是各种数据的汇总,而与矩阵相关的各种运算,本质上就是对其中数据的再加工再处理。以MATLAB数字图像处理[1][2]为依托,使学生逐步明晰数字图像与矩阵的对应关系,并从数字图像处理的角度阐释矩阵的运算,给抽象的数学理论赋予更直观的形象,同时也丰富了应用背景,为学生提供了更多机会参与创新实践。
2 MATLAB数字图像处理在矩阵概念、矩阵运算教学中的应用案例
案例2.1 从数字图像的角度解读矩阵,赋予矩阵以更直观的形象
(1)0-1矩阵对应二值(黑白)图像
MATLAB中以5阶方阵为例,零矩阵‘zeros(5)、单位阵‘eye(5)以及随机0-1矩阵‘randint(5)所对应图像如图1所示。
(a)零矩阵 (b)单位阵 (c)随机0-1阵
图1 0-1矩阵
在学生基本掌握了这种数与图的对应关系后,教师进一步引导学生构造“口”、“日”、“田”等汉字所对应的数字矩阵。此外,通过布置“如何利用矩阵构造词语‘中国、‘海军、‘甲午……?”、“如何利用矩阵构造数字组合‘1894、‘7.25……?”等引申的课后上机练习题,拓展学生思维,促进知识的活学活用。
(2)值域为[0,1]的double型矩阵或值域为[0,255]的uint8型矩阵对应灰度图像
仍以5阶方阵为例,随机[0,1]double型矩阵‘rand(5)、随机[0,255]uint8型矩阵‘uint8(rand(5,5,[0,255])对应图2所示的灰色马赛克图案。
(a)[0,1]double阵 (b) [0,255]uint8阵
图2 [0,1]double随机阵及[0,255]uint8随机阵
(3)RGB彩色图像是R、G、B矩阵的层叠
利用图2中灰度图像的构造方法,可以分别构造R、G、B三基色随机阵,图像分别对应图3(a)、3(b)、3(c),再将三色矩阵拼合得到RGB矩阵,图像为彩色马赛克图案,如图3(d)所示。
(a)R矩阵 (b)G矩阵 (c)B矩阵 (d)RGB矩阵
图3 R、G、B随机阵及拼合成的RGB矩阵
依循这种层层递进、由简入繁的思路,學生在直观上对矩阵的实用性有了初步的了解,感受到了数学的神奇力量,激发了学习热情。
案例2.2 利用矩阵线性运算实现图像隐藏
(a)隐藏前 (b)背景图 (c)隐藏后
图4 图像隐藏
矩阵的加减、数乘是矩阵的两种基本运算,MATLAB环境下可用于实现数字图像信息的隐藏。
假定涉密图片(图4(a))和背景图片(图4(b))分别存储于矩阵A、B中,利用矩阵的两种线性运算构造矩阵C=A+t·(B-A),可将涉密图片隐藏于背景图片中。这里,t∈[0,1]为隐藏参数,用来控制隐藏深度。图4(c)中设置t=0.5,为半隐半现状态,若设置t=1,可实现图像的完全隐藏,设置t=0,又可实现图像的复原。课堂教学中,通过渐进调节参数t的取值由小变大,就可以将图片隐藏的渐变过程展现在学生面前,增强了教学的生动性、实用性。
案例2.3(a) 利用矩阵乘法实现图像伪装
矩阵运算中,矩阵乘法具有较为特殊的运算规律,是矩阵运算教学的一个难点。矩阵乘法又具有较强的应用性,因此其教学特别要突出以问题为主导,从问题中来,到问题中去。实际教学中,教师设置这样一个问题情境:“一幅舰载机涉密图片如图5(a)所示,使用什么方法可对其实施伪装?”由于前期教学已经做了铺垫,学生凭直觉给出了几个策略:打乱重排、打马赛克、……。教师因势利导,“马赛克该如何打?”……在留给学生足够的思考空间之后,教师引入正题,“我们来看看借助矩阵乘法能否做到吧!”利用涉及随机矩阵的矩阵乘法AR=A'(A是图5(a)对应矩阵,R是与A匹配的随机矩阵,A'是新生成矩阵),图5(a)经处理后得到图5(b)。课堂上,学生通过前后图像对比不难发现,矩阵乘法的运用使得原有图像中的重要信息得到了屏蔽,伪装效果明显。学生从案例讲解中,理解了矩阵乘法的本质就是对矩阵实施变换,运用到数字图像处理中,可以实现图像的置乱。
案例2.3(b) 利用矩阵除法实现伪装图像复原
矩阵方程的求解涉及矩阵的除法运算。教师在引入矩阵除法时,可以从乘与除的相对关系出发,将案例2.3(a)中的问题进一步铺开。“涉密图像在传输过程中,发送方预先实施有效伪装,而接收方就需要根据密钥对收到的伪装图像(图5(c))进行复原。如何复原呢?”根据伪装过程AR=A',利用矩阵除法A=A'/R可实现其逆过程,生成图像如图5(d)所示,与原始图5(a)对照,实现了图像的完好复原。
(a)伪装前 (b)伪装后 (c)复原前 (d)复原后
图5 图像伪装及复原
3 结束语
以矩阵概念理论为突破口,以MATLAB数字图像处理为媒介,对线性代数课程实验化的教学模式进行了初步探索。教师采用理论传授型实验、综合应用型实验的教学方法,充分挖掘MATLAB图像处理等工具箱的工程实践功能,设计与线性代数课程理论密切相关的应用性实验,以图形等形式直观展示实验结果,一方面,使抽象的數学概念具体化、形象化、可视化,便于学生理解,另一方面,学生更多地参与到实验活动中,逐渐转变学习方式,变被动学习为自主探索,学习效率有效提升。此外,实验内容的设计充分考虑学生的个体差异,区分难易层次,能够使每个人潜能都得到有效激发。
【参考文献】
[1]张德丰,等.MATLAB数字图像处理[M].北京:机械工业出版社,2012.
[2]赵小川,等.MATLAB数字图像处理实战[M].北京:机械工业出版社,2013.