劉麗娟
(西安理工大學 機械與精密儀器工程學院,陜西 西安 710048)
近年來,伴隨計算機技術的超速發展,圖像處理技術得到日新月異的進步,其應用在很多領域已經變得炙手可熱[1]。《圖像檢測與處理》是電子信息類以及儀器儀表類非常重要的專業課。目前對該門課程的安排,各院校一般都是理論教學與實驗教學相結合,傳統的先課堂理論后實驗實踐的授課方式將理論和實踐教學隔離,學生很難深入理解數字圖像處理的技術原理,導致教學效果不夠好[2]。因此,開發能夠在課堂教學過程中操作的數字圖像處理演示平臺就成為教學的需要[3-6]。
教學平臺設計主要利用MATLAB GUI的強大功能,利用編輯面板上的控件工具和菜單編輯器完成操作界面的總體布局,再通過回調函數的編寫,完成實現每個功能,最后對其逐項功能檢測,證明其實際應用的可行性,最終設計完成一個集多種算法和圖像處理技術于一體的多功能教學平臺。
該教學平臺需要幾個GUI界面之間互相調用,首先設置了一個登陸界面,在登陸界面中輸入相應的賬號,密碼再進入,這樣做可以使人機交互界面變得友好,不至于一打開運行程序直接進入到圖像處理平臺,并且保護了整個軟件的安全性;其次在圖像處理平臺中由于車牌識別系統圖片過大,不能一次在3個坐標軸上顯示,所以需要單獨做一個GUI來實現此功能。利用h=gcf;untitled;close(h);語句,在MATLAB GUI平臺實現此功能,再將上面這段程序放在登錄界面回調函數中,運行上面的語句,就能夠實現不同GUI之間的調用。其中,名稱為untitled文件是圖像處理平臺的.M文件,在圖像處理平臺相應的菜單鍵下后臺調用車牌系統的.M文件,實現GUI的調用。
該教學平臺根據課程內容,結合課時安排,按照圖像處理技術教學的特點來設計該教學平臺系統的整體框架。按照最終確定的方案和教學平臺界面設計的布局,該教學平臺主要包括文件、編輯、添加噪聲、灰度直方圖、圖像處理、實例分析、車牌識別系統等。其功能結構圖如圖1所示。

圖1 教學平臺功能結構圖
文件模塊包含的主要功能是對文件打開、保存、打印、退出等操作,這里著重介紹打開和保存功能。
關于文件中的打開菜單,主要應用uigetfile()標準讀盤文件處理對話框,利用對話框來選擇要打開的圖片,將對應的程序放在打開菜單的回調函數中,并運行,將會打開文件選擇對話框,可以選擇打開不同的文件或者圖片。文件的保存,主要運用的是uiputfile()標準寫盤文件處理對話框,通過此來選取將要保存的圖片,將程序放在保存菜單的回調函數中并運行,將會出現保存文件處理對話框,可以進行文件或者圖片的保存。
編輯模塊包含的主要功能是對圖片進行旋轉、反色等操作。
2.2.1 旋轉
學生可以任意輸入旋轉角度,主要用到的程序為A=getimage(handles.axes1),函數getimagage()用來獲取當前加載的圖形對象的句柄(即在第一個坐標軸中打開的圖片),然后把獲得的句柄值賦給A。如此一來,只要找到了A,對A進行的操作就相當于對該圖像進行相應的操作。學生在彈出的對話框中輸入想要旋轉的角度,點擊確定后圖像就可以做出相應的角度旋轉變化。
2.2.2 反色
圖像的反色,就是對彩色圖像的R、G、B各彩色分量取反的技術,即是彩色圖像中每一點用255減去原有的灰度值,得到的灰度值呈現出來就是圖像反色,這在圖像進行二值化處理時非常有用。
一般設輸入圖像為f(m,n),反色后的圖像為g(m,n),那么圖像反色的方法為:
g(m,n)=255-f(m,n)
得到的圖像g(m,n)就是需要的結果。
圖像處理這個模塊主要功能是對圖片進行二值化、銳化、濾波、平滑、圖像變換等處理,其中,銳化和平滑是這個模塊的重點。
2.3.1 圖像的銳化處理
圖像銳化處理的主要是根據圖像處理的要求突出圖像中的某些細節,使它們在視覺效果上得到增強。圖片中出現模糊的原因一方面可能是因為在進行圖像處理時有錯誤操作,還有一種可能是因為在獲取圖像方法時的一些固有存在的影響造成的。運行程序,對打開的圖片進行銳化處理,結果如圖2所示。

圖2 圖像銳化處理圖
2.3.2 圖像平滑
在圖像采集和傳輸的過程中,圖像可能遭到很多噪聲的污染,為得到正確的圖像信息,必須進行一些必要的圖像處理以除圖像噪聲,這個去噪過程稱為圖像平滑[7]。圖像平滑根據處理時的手段和方法,可將其分為頻率域處理空間域[8-9]處理兩種,其中經常使用的濾波方法有均值濾波和中值濾波等。例如對已加載的一幅圖片進行添加噪聲,并用中值濾波的方法對其進行圖像平滑,結果如圖3所示。

圖3 圖像平滑圖
數字圖像處理在工業領域有著越來越廣泛的應用,通過數字圖像處理可以實現線徑和孔徑的非接觸檢測,這在提高檢測系統實時性、客觀性、自動化等方面都有著十分重要的使用價值[10-13]。實例分析主要功能是提供條紋圖像與定位孔兩個案例,使學生了解數字圖像處理在工業領域的一些實際應用。
線纜,定位孔直徑的檢測就是在背景下對較暗或者較亮的目標對象進行一定的圖像處理,得到具有很高對比度的數字圖像。在這里先以線纜直徑檢測為例,通過圖像增強,二值化等圖像處理后,就可以實現將線纜從背景中分離出來,然后通過循環算法統計出每行線纜所覆蓋的像素值,將所有的行線纜覆蓋像素統計完成后求取平均值,將平均值作為最終的檢測結果。
定位孔直徑的檢測則與線纜直徑的檢測前期處理都一樣,也是通過二值化、濾波等圖像處理先將定位孔從背景中分離出來,再通過循環掃描法自上而下進行行掃描,記錄定位孔覆蓋像素最大值,此結果便是定位孔的直徑。它的實際運行界面圖如圖4、5所示,分別為線纜直徑的檢測和定位孔的直徑檢測。

圖4 線徑檢測

圖5 孔徑檢測
近些年來,隨著我國經濟的的快速發展,交通越來越發達,車牌識別系統慢慢成為現代智能交通系統中的重要組成部分之一,應用也越來越廣泛[14],通過提取識別車“身份”的車牌信息來管理城市現代交通,這對實現現代交通管理有著十分現實的意義[15-16]。
本系統實現自動識別車牌號碼的功能,它是單獨的一個圖形用戶界面,學生可以將采集到的車牌照片放在這個模塊進行處理,最終識別并輸出,其識別正確率、速度等方面都具有很大的優勢。本系統設計的總體步驟如圖6所示。實際操作中可以從主操作界面中點擊菜單鍵“車牌識別系統”,進入到車牌識別系統的操作界面,如圖7(a)所示。通過對車牌識別系統操作界面每個按鈕回調函數的編寫,運行程序代碼后,就可以實現對車牌號碼的自動識別。例如打開一個車牌照片并對其進行預處理,如圖7(b)所示。在對車牌照片進行預處理后,接著對處理后的照片進行車牌定位,字符分割,就可以得到如圖7(c)的結果,在車牌字符分割之后,對其進行字符識別,并輸出結果,如圖7(d)所示。

圖6 車牌識別系統框圖

圖7 車牌識別系統
該教學系統結合MATLAB GUI平臺,將常用的圖像算法和圖像處理技術集中整合在一個GUI平臺上,實現了豐富的數字圖像處理功能,該系統還具有實例分析和車牌識別功能,學生可以利用這個教學系統充分了解圖像處理的過程以及實際應用,使學生有感性的認識,為進一步深入學習理論知識提供了一個很好的平臺支撐。