楊保華 王菁 梁欣
摘要:根據(jù)數(shù)字圖像處理課程理論與實(shí)踐并重的特點(diǎn),以及Matlab軟件在數(shù)字圖像處理領(lǐng)域的優(yōu)勢,提出應(yīng)用Matlab進(jìn)行仿真實(shí)踐的教學(xué)方法,通過解決混泥土路面裂縫檢測的現(xiàn)實(shí)問題介紹了圖像增強(qiáng)、圖像濾波以及圖像分割方法的實(shí)際應(yīng)用,并對(duì)比了不同算法的效果。仿真表明Matlab程序簡潔,可以較為容易地實(shí)現(xiàn)教學(xué)案例,有利于學(xué)生理解晦澀難懂的理論和方法,從而激發(fā)學(xué)生的學(xué)習(xí)興趣,并提高解決實(shí)際問題的能力,促進(jìn)應(yīng)用型人才的培養(yǎng)。
關(guān)鍵詞:數(shù)字圖像處理;Matlab;圖像增強(qiáng)、圖像濾波、圖像分割
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2016)02-0171-02
一、概述
數(shù)字圖像處理課程的教學(xué)目標(biāo)就是通過教學(xué)使學(xué)生了解和掌握數(shù)字圖像處理的基本理論和技術(shù),并能夠進(jìn)行相關(guān)的數(shù)字圖像處理和分析,以滿足各種不同領(lǐng)域應(yīng)用的需求。為了便于學(xué)生系統(tǒng)全面地掌握這門專業(yè)課程,在教學(xué)過程中必須加強(qiáng)理論和實(shí)踐的融合,讓學(xué)生在掌握基本理論和經(jīng)典算法的同時(shí),利用計(jì)算機(jī)語言進(jìn)行圖像處理的仿真實(shí)驗(yàn)和應(yīng)用實(shí)踐,由此加深對(duì)理論的理解。
Matlab軟件是一款由美國Math Works公司開發(fā)的商業(yè)數(shù)學(xué)軟件,可用于數(shù)值計(jì)算、數(shù)據(jù)可視化、數(shù)據(jù)分析、算法開發(fā)等場合,其強(qiáng)大的矩陣處理與三維顯示功能,特別適合數(shù)字圖像處理的仿真實(shí)驗(yàn)。Matlab提供的圖像處理工具箱(Image Processing Toolbox),是利用Matlab強(qiáng)大的數(shù)學(xué)計(jì)算能力,為用戶提供的參照標(biāo)準(zhǔn)算法和圖形工具,可實(shí)現(xiàn)廣泛的圖像處理操作[1]。因此,應(yīng)用Matlab非常有利于數(shù)字圖像處理課程的教學(xué)。
本文以處理和分析混泥土路面的裂縫圖像為案例,利用Matlab軟件進(jìn)行仿真實(shí)驗(yàn),介紹說明數(shù)字圖像處理教學(xué)中圖像增強(qiáng)、圖像濾波、圖像分割、圖像邊緣提取的概念及應(yīng)用,可以讓學(xué)生更加清晰地理解相關(guān)算法,并掌握相應(yīng)的圖像處理方法的使用。
二、Matlab在教學(xué)中的應(yīng)用案例
經(jīng)濟(jì)的快速發(fā)展促使了大量基礎(chǔ)設(shè)施的建造,混凝土這種高強(qiáng)度、高性能的建筑材料已經(jīng)應(yīng)用于各種各樣的工程中,但由于種種原因,混凝土結(jié)構(gòu)會(huì)產(chǎn)生裂縫,并影響其使用性、耐用性和美觀,因此工程人員定期地會(huì)對(duì)裂縫進(jìn)行檢測和量化分析。本文通過數(shù)碼相機(jī)采集了一幅包含裂縫的混泥土路面的圖像。通過對(duì)該圖像的處理分析,來闡述Matlab在教學(xué)中的應(yīng)用。
1.圖像的直方圖均衡化。數(shù)碼相機(jī)采集的圖像為真彩色圖像,進(jìn)行裂縫的檢測只需亮度信息而無須考慮色彩信息,因此,首先將采集的真彩色圖像轉(zhuǎn)換成灰度圖,這一圖像轉(zhuǎn)換過程稱為圖像的灰度化處理。Matlab圖像處理工具箱中提供了函數(shù)rgb2gray,能夠方便地實(shí)現(xiàn)圖像的灰度化處理。
圖像采集過程中因光照問題有可能導(dǎo)致圖像辨識(shí)度低,此時(shí)有必要對(duì)圖像進(jìn)行增強(qiáng)處理。直方圖均衡化對(duì)于改善圖像對(duì)比度有非常好的效果,其基本思想是根據(jù)輸入圖像的灰度概率分布來確定其對(duì)應(yīng)的輸出灰度值,通過擴(kuò)展圖像的動(dòng)態(tài)范圍達(dá)到提升圖像對(duì)比度的目的。Matlab圖像處理工具箱中提供了函數(shù)histequ進(jìn)行直方圖均衡化處理和函數(shù)imhist計(jì)算和顯示圖像的直方圖。圖1為使用Matlab實(shí)現(xiàn)灰度化處理的圖像及其直方圖。圖2為直方圖均衡化后的灰度圖像及其直方圖。程序如下:
2.圖像的濾波。圖像采集和傳輸過程中,通常會(huì)產(chǎn)生一定噪聲,影響圖像質(zhì)量,并且對(duì)圖像檢測和分析會(huì)產(chǎn)生不利影響,因此必須對(duì)圖像進(jìn)行濾波,從而減少或消除噪聲的影響。中值濾波是常用的圖像濾波方法之一,它是一種非線性的信號(hào)處理方法,是在含有奇數(shù)點(diǎn)滑動(dòng)窗口內(nèi),利用窗口內(nèi)各點(diǎn)灰度值排序后的中值代替窗口中心點(diǎn)灰度值的方法。進(jìn)行中值濾波不僅可以去除孤點(diǎn)噪聲,而且可以保持圖像的邊緣特性。Matlab圖像處理工具箱中提供了函數(shù)medfilt2用于中值濾波。本文分別選用尺寸為3*3、5*5、7*7的窗口對(duì)混泥土路面圖像進(jìn)行濾波處理,如圖3所示,由圖可見,3*3窗口的濾波效果相對(duì)較好。
3.圖像分割。圖像分割就是把圖像分成若干個(gè)特定的、具有獨(dú)特性質(zhì)的區(qū)域并提出感興趣目標(biāo)的技術(shù)和過程。圖像分割較為經(jīng)典的方法有邊緣檢測方法、閾值分割法和區(qū)域分割法。近幾年,數(shù)學(xué)形態(tài)學(xué)、小波分析和模糊數(shù)學(xué)等新的理論也被應(yīng)用于圖像分割,有效地改善了分割效果[1]。
閾值分割是最經(jīng)典和流行的圖像分割方法之一,也是最簡單的一種圖像分割方法,這種方法的關(guān)鍵在于尋找適當(dāng)?shù)幕叶乳撝担ǔJ歉鶕?jù)圖像的灰度直方圖來選取。閾值分割法特別適用于目標(biāo)和背景處于不同灰度級(jí)范圍的圖像。邊緣檢測是檢測圖像特性發(fā)生變化的位置,不同的對(duì)象灰度不同,邊界處會(huì)有明顯的邊緣,利用此特征可以分割圖像。邊緣檢測分割法就是通過檢測出不同區(qū)域的邊界來進(jìn)行分割的。區(qū)域分割法主要包括區(qū)域生長法和分水嶺分割法,其中區(qū)域生長法是一種串行區(qū)域分割的圖像分割方法,區(qū)域生長的基本思想是將具有相似形質(zhì)的像素集合起來構(gòu)成區(qū)域,分水嶺算法則是借鑒了形態(tài)學(xué)理論,是一種較新的基于區(qū)域的圖像分割算法。通常,不同的圖像根據(jù)各自特征需采用不同的分割算法,才能取得較好的分割結(jié)果。本文對(duì)混泥土路面裂縫圖像采用區(qū)域生長法來進(jìn)行仿真試驗(yàn)。區(qū)域生長法可借鑒參考文獻(xiàn)中作者開發(fā)的名為regiongrow的M函數(shù)來完成,分割后的結(jié)果見圖4。
由圖可見區(qū)域生長法則很好地將圖像中的裂縫從背景中分割出來,分割效果很好,有利于裂縫檢測分析。對(duì)已分割出來的圖像進(jìn)行邊緣檢測,可獲取裂縫的邊緣。Matlab中函數(shù)edge可以實(shí)現(xiàn)基于不同算子的邊緣檢測,對(duì)于本文的裂縫圖像,canny算子檢測出的邊緣連續(xù)性更好,見圖5。
三、結(jié)論
通過上文實(shí)際應(yīng)用的圖像處理案例可知,Matlab能較容易地實(shí)現(xiàn)數(shù)字圖像處理課程中涉及的主要方法和技術(shù)(如圖像增強(qiáng)、圖像濾波、圖像分割等),因此在數(shù)字圖像處理課程中引入Matlab,在進(jìn)行理論講解的同時(shí),進(jìn)行仿真演示,可以加深學(xué)生對(duì)理論的理解。另外,在教學(xué)過程中可以引入一些與實(shí)際應(yīng)用相關(guān)的問題來提高學(xué)生的學(xué)習(xí)興趣,如給出一些醫(yī)學(xué)影像、生物圖像以及工業(yè)檢測圖像等讓學(xué)生進(jìn)行處理,這樣不但在很大程度上能夠激發(fā)學(xué)生的學(xué)習(xí)興趣,而且可以提高學(xué)生獨(dú)立思考及解決實(shí)際問題的能力,教學(xué)效果將顯著增強(qiáng)。
參考文獻(xiàn):
[1]沈曉晶,王艷,趙慧娟.應(yīng)用型院校數(shù)字圖像處理本科教學(xué)探索[J].計(jì)算機(jī)教育,2012,(1).