朱丹 于書靖 蘇洪波
【摘 要】線性代數(shù)教學(xué)中,發(fā)揮MATLAB數(shù)據(jù)可視化優(yōu)勢,從數(shù)字圖像處理的角度闡釋矩陣的相關(guān)概念及運(yùn)算,豐富教學(xué)案例,開展創(chuàng)新教學(xué)實(shí)踐。
【關(guān)鍵詞】線性代數(shù);數(shù)字圖像處理;實(shí)驗(yàn)教學(xué);MATLAB
中圖分類號: O151.2-4;G642 文獻(xiàn)標(biāo)識(shí)碼: 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數(shù)據(jù)可視化,突出線性代數(shù)教學(xué)的直觀性和實(shí)用性
線性代數(shù)課程教學(xué),在充分利用MATLAB軟件強(qiáng)大的數(shù)值計(jì)算功能的同時(shí),還可充分挖掘其數(shù)據(jù)可視化功能,使之教學(xué)內(nèi)容深度融合、完美契合。作為線性代數(shù)課程的一個(gè)主要研究對象——矩陣,其實(shí)質(zhì)就是各種數(shù)據(jù)的匯總,而與矩陣相關(guān)的各種運(yùn)算,本質(zhì)上就是對其中數(shù)據(jù)的再加工再處理。以MATLAB數(shù)字圖像處理[1][2]為依托,使學(xué)生逐步明晰數(shù)字圖像與矩陣的對應(yīng)關(guān)系,并從數(shù)字圖像處理的角度闡釋矩陣的運(yùn)算,給抽象的數(shù)學(xué)理論賦予更直觀的形象,同時(shí)也豐富了應(yīng)用背景,為學(xué)生提供了更多機(jī)會(huì)參與創(chuàng)新實(shí)踐。
2 MATLAB數(shù)字圖像處理在矩陣概念、矩陣運(yùn)算教學(xué)中的應(yīng)用案例
案例2.1? 從數(shù)字圖像的角度解讀矩陣,賦予矩陣以更直觀的形象
(1)0-1矩陣對應(yīng)二值(黑白)圖像
MATLAB中以5階方陣為例,零矩陣‘zeros(5)、單位陣‘eye(5)以及隨機(jī)0-1矩陣‘randint(5)所對應(yīng)圖像如圖1所示。
(a)零矩陣? ? ? ? ? ? ? ? ? (b)單位陣? ? ? ? ? (c)隨機(jī)0-1陣
圖1 0-1矩陣
在學(xué)生基本掌握了這種數(shù)與圖的對應(yīng)關(guān)系后,教師進(jìn)一步引導(dǎo)學(xué)生構(gòu)造“口”、“日”、“田”等漢字所對應(yīng)的數(shù)字矩陣。此外,通過布置“如何利用矩陣構(gòu)造詞語‘中國、‘海軍、‘甲午……?”、“如何利用矩陣構(gòu)造數(shù)字組合‘1894、‘7.25……?”等引申的課后上機(jī)練習(xí)題,拓展學(xué)生思維,促進(jìn)知識(shí)的活學(xué)活用。
(2)值域?yàn)閇0,1]的double型矩陣或值域?yàn)閇0,255]的uint8型矩陣對應(yīng)灰度圖像
仍以5階方陣為例,隨機(jī)[0,1]double型矩陣‘rand(5)、隨機(jī)[0,255]uint8型矩陣‘uint8(rand(5,5,[0,255])對應(yīng)圖2所示的灰色馬賽克圖案。
(a)[0,1]double陣? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (b) [0,255]uint8陣
圖2 [0,1]double隨機(jī)陣及[0,255]uint8隨機(jī)陣
(3)RGB彩色圖像是R、G、B矩陣的層疊
利用圖2中灰度圖像的構(gòu)造方法,可以分別構(gòu)造R、G、B三基色隨機(jī)陣,圖像分別對應(yīng)圖3(a)、3(b)、3(c),再將三色矩陣拼合得到RGB矩陣,圖像為彩色馬賽克圖案,如圖3(d)所示。
(a)R矩陣? ? (b)G矩陣? ? (c)B矩陣? ?(d)RGB矩陣
圖3 R、G、B隨機(jī)陣及拼合成的RGB矩陣
依循這種層層遞進(jìn)、由簡入繁的思路,學(xué)生在直觀上對矩陣的實(shí)用性有了初步的了解,感受到了數(shù)學(xué)的神奇力量,激發(fā)了學(xué)習(xí)熱情。
案例2.2 利用矩陣線性運(yùn)算實(shí)現(xiàn)圖像隱藏
(a)隱藏前? ? ? ? ? ? ? ?(b)背景圖? ? ? ? ? ? ? ?(c)隱藏后
圖4 圖像隱藏
矩陣的加減、數(shù)乘是矩陣的兩種基本運(yùn)算,MATLAB環(huán)境下可用于實(shí)現(xiàn)數(shù)字圖像信息的隱藏。
假定涉密圖片(圖4(a))和背景圖片(圖4(b))分別存儲(chǔ)于矩陣A、B中,利用矩陣的兩種線性運(yùn)算構(gòu)造矩陣C=A+t·(B-A),可將涉密圖片隱藏于背景圖片中。這里,t∈[0,1]為隱藏參數(shù),用來控制隱藏深度。圖4(c)中設(shè)置t=0.5,為半隱半現(xiàn)狀態(tài),若設(shè)置t=1,可實(shí)現(xiàn)圖像的完全隱藏,設(shè)置t=0,又可實(shí)現(xiàn)圖像的復(fù)原。課堂教學(xué)中,通過漸進(jìn)調(diào)節(jié)參數(shù)t的取值由小變大,就可以將圖片隱藏的漸變過程展現(xiàn)在學(xué)生面前,增強(qiáng)了教學(xué)的生動(dòng)性、實(shí)用性。
案例2.3(a)? 利用矩陣乘法實(shí)現(xiàn)圖像偽裝
矩陣運(yùn)算中,矩陣乘法具有較為特殊的運(yùn)算規(guī)律,是矩陣運(yùn)算教學(xué)的一個(gè)難點(diǎn)。矩陣乘法又具有較強(qiáng)的應(yīng)用性,因此其教學(xué)特別要突出以問題為主導(dǎo),從問題中來,到問題中去。實(shí)際教學(xué)中,教師設(shè)置這樣一個(gè)問題情境:“一幅艦載機(jī)涉密圖片如圖5(a)所示,使用什么方法可對其實(shí)施偽裝?”由于前期教學(xué)已經(jīng)做了鋪墊,學(xué)生憑直覺給出了幾個(gè)策略:打亂重排、打馬賽克、……。教師因勢利導(dǎo),“馬賽克該如何打?”……在留給學(xué)生足夠的思考空間之后,教師引入正題,“我們來看看借助矩陣乘法能否做到吧!”利用涉及隨機(jī)矩陣的矩陣乘法AR=A'(A是圖5(a)對應(yīng)矩陣,R是與A匹配的隨機(jī)矩陣,A'是新生成矩陣),圖5(a)經(jīng)處理后得到圖5(b)。課堂上,學(xué)生通過前后圖像對比不難發(fā)現(xiàn),矩陣乘法的運(yùn)用使得原有圖像中的重要信息得到了屏蔽,偽裝效果明顯。學(xué)生從案例講解中,理解了矩陣乘法的本質(zhì)就是對矩陣實(shí)施變換,運(yùn)用到數(shù)字圖像處理中,可以實(shí)現(xiàn)圖像的置亂。
案例2.3(b)? 利用矩陣除法實(shí)現(xiàn)偽裝圖像復(fù)原
矩陣方程的求解涉及矩陣的除法運(yùn)算。教師在引入矩陣除法時(shí),可以從乘與除的相對關(guān)系出發(fā),將案例2.3(a)中的問題進(jìn)一步鋪開?!吧婷軋D像在傳輸過程中,發(fā)送方預(yù)先實(shí)施有效偽裝,而接收方就需要根據(jù)密鑰對收到的偽裝圖像(圖5(c))進(jìn)行復(fù)原。如何復(fù)原呢?”根據(jù)偽裝過程AR=A',利用矩陣除法A=A'/R可實(shí)現(xiàn)其逆過程,生成圖像如圖5(d)所示,與原始圖5(a)對照,實(shí)現(xiàn)了圖像的完好復(fù)原。
(a)偽裝前 ? ? ? (b)偽裝后 (c)復(fù)原前 ? ? ?(d)復(fù)原后
圖5 圖像偽裝及復(fù)原
3 結(jié)束語
以矩陣概念理論為突破口,以MATLAB數(shù)字圖像處理為媒介,對線性代數(shù)課程實(shí)驗(yàn)化的教學(xué)模式進(jìn)行了初步探索。教師采用理論傳授型實(shí)驗(yàn)、綜合應(yīng)用型實(shí)驗(yàn)的教學(xué)方法,充分挖掘MATLAB圖像處理等工具箱的工程實(shí)踐功能,設(shè)計(jì)與線性代數(shù)課程理論密切相關(guān)的應(yīng)用性實(shí)驗(yàn),以圖形等形式直觀展示實(shí)驗(yàn)結(jié)果,一方面,使抽象的數(shù)學(xué)概念具體化、形象化、可視化,便于學(xué)生理解,另一方面,學(xué)生更多地參與到實(shí)驗(yàn)活動(dòng)中,逐漸轉(zhuǎn)變學(xué)習(xí)方式,變被動(dòng)學(xué)習(xí)為自主探索,學(xué)習(xí)效率有效提升。此外,實(shí)驗(yàn)內(nèi)容的設(shè)計(jì)充分考慮學(xué)生的個(gè)體差異,區(qū)分難易層次,能夠使每個(gè)人潛能都得到有效激發(fā)。
【參考文獻(xiàn)】
[1]張德豐,等.MATLAB數(shù)字圖像處理[M].北京:機(jī)械工業(yè)出版社,2012.
[2]趙小川,等.MATLAB數(shù)字圖像處理實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2013.