袁良祺,田暢,徐充,馬耀
(北京信息科技大學儀器科學與光電工程系,北京100192)
隨著數字化技術在當今生活中占得比重越來越高,數字圖像處理的必要性日益增加。《數字圖像處理》是隨著計算機和信息技術發(fā)展應運而生的一門新興課程,已經成為信息類專業(yè)本科生的重要專業(yè)課[1]。課程中介紹各種模板、算子的基本概念及運作規(guī)律,大多數學生只能明白對于數字圖像處理的基本思路以及采用的各種方法但是未能實際動手操作,由此2019 年北京信息科技大學開展《視覺檢測系統》課程設計,此課程設計是為了配合課程的展開與實踐所搭配的一門實踐課程,以鍛煉學生的動手實踐、自主思考以及獲取信息的能力為主要目的展開。
MATLAB 有強大的數字圖像處理工具箱,用它進行實驗,省去了復雜的編程過程,能大大地簡化程序,從而把精力集中在算法的研究上,這些特點特別適合圖像處理實驗教學[1]。利用MATLAB GUI 進行視覺檢測系統的課程設計好處在于其實時性高、互動性強、自由度高、模塊性高,采用GUI 交叉設計的方法可實現多個模塊進行互通互聯,可以實現主GUI 及其附屬功能GUI 的統一調配管理,展現了其強大的用戶互動能力。
根據使用者對精度的需要越來越高,計算機對于處理圖像聚焦狀態(tài)的要求也水漲船高。圖像的聚焦狀態(tài)也可以稱作是圖像模糊化的狀態(tài),這種模糊化的狀態(tài)具體可以體現在圖像的邊緣點、線、尖的過渡是否明顯,如果過度明顯則清晰,如果過度不明顯則模糊。一般情況下清晰圖像的邊緣特征點過渡一般利用2-3 個像素點完成,不清晰圖像的邊緣特征點利用5-6 個像素點完成,計算相鄰像素點數值的差異大小,即可判斷圖像清晰與否,由此可以設計調焦函數評價原理。
七種清晰度評價函數原理及判據公式如下[2]:
(1)灰度差函數(difference_absolute):
(2)邊緣強度函數(edge_intensity):
(3)平均梯度函數(avg_gradient):
(4)梯度向量平方函數(gradient_square):
(5)絕對方差函數(absolute_variance):
(6)Roberts 梯度和函數(roberts_gradient):
(7)Brenner 函數(brenner):
根據這七種清晰度評價函數對同一幅圖像的不同模糊狀態(tài)進行評價,可以得到七種清晰度評價曲線,根據這七種清晰度評價函數曲線可以計算數個圖像的清晰度并且檢驗7 種方法之間的優(yōu)劣。本文采用不同大小的均值模板對對同一張圖像進行濾波可以得到同一張圖像的不同濾波狀態(tài),利用fspecial 函數創(chuàng)建18 個均值模板,分別是[1,1][2,2][3,3][4,4][50,50][6,6][7,7][8,8][9,9][10,10][11,11][12,12][13,13][100,100][15,15][16,16][17,17][18,18],再使用imfilter 對圖像進行均值濾波,函數這樣就可以得到模糊度不同的圖像,如圖1 所示,可以觀察出1×1 均值濾波后的圖像最清晰,100×100 均值濾波后的圖像最模糊。
圖1 使用不同濾波模板對同一圖像進行濾波
為了利用七種清晰度評價函數進行評價,驗證評價的重復性及再現性,利用評價函數對每張圖片評價兩次。在清晰度評價時可以選擇對部分圖像進行評價也可以對整體圖像進行評價,對于部分圖像進行評價時計算速度較快,對于整體圖像進行評價時靈敏度較高,這在實際運用中具有較大的影響,本系統選擇整體圖像進行清晰度評價。
如圖2 所示為7 種清晰度評價不同模糊狀態(tài)函數曲線,在第5 張圖像設置50×50 均值濾波后的圖像以及第15 張圖像設置100×100 均值濾波這兩張最模糊的圖像清晰度評價曲線中體現為兩個向下的尖刺,最不清晰的圖片其評價數值低。其他圖片從1×1、2×2 到18×18 的均值濾波模板慢慢的遞增,從圖中可以看出圖片的清晰度也慢慢的下降。但是這種下降不呈線性的關系,對于清晰度評價值的變化,這是一種曲線的關系,設置的均值濾波模板的大小越大所呈現的圖片清晰度的對比就越來越??;設置的均值濾波模板的大小越小所呈現的圖片清晰度的對比就越來越大。所以可以得出一個結論,清晰度評價函數對于邊緣細節(jié)部分清晰與模糊的對比響應較大,而對于一般模糊和很模糊的對比響應較小。從設置50×50 的均值濾波模板和設置100×100 的均值濾波模板的清晰度評價相差不大可以得出此推論,評價函數認為這兩張圖片的模糊程度差不多。
圖2 7種清晰度評價函數評價不同模糊狀態(tài)的整體圖像
另外,觀察各個函數可以發(fā)現,對于圖像模糊化的清晰度評價函數響應最慢的是邊緣強度函數,而對清晰度變化響應最快的清晰度評價函數是梯度向量平方。而且,通過觀察各個點的坐標可以發(fā)現,梯度向量平方評價的第二張圖的清晰度對應的幾乎是邊緣強度函數的第18、19 張圖像,但是這樣的線性明顯不符合實際情況,所以簡單的通過兩種清晰度評價函數橫向比較一幅圖片的清晰度的時候顯然是不對的,所以在評價一幅圖片清晰度的時候應該結合多種清晰度評價縱向比較。如果只評價一幅圖像是否清晰的時候得到的數據是不具備理論依據的。
綜上,在進行圖像清晰度評價的時候對于不同的需求應該選擇不同的圖像。例如:需要對比少量幾張清晰照片的清晰度的時候或者在相機進行調焦時,需要有高強度的清晰度的反應,此時就可以選擇梯度向量平方函數進行清晰度評價;在對比大量圖片的清晰度的變化趨勢的時候可以使用邊緣強度清晰評價函數,這樣利于對比清晰以及模糊不同程度時的趨勢。另外,通常情況下還可以針對不同場合使用其他多種的清晰度評價函數。
圖像的濾波方法主要分為空域濾波和頻域濾波兩種??沼驗V波和頻域濾波所側重點不同,空域濾波側重像素點與像素點之間的數值差異,頻域濾波側重噪聲之間的頻率關系,在選擇濾波方法是需要根據實際使用情況選擇濾波方法。
空域濾波是使用各種大小不同、數值不同濾波模板對圖像區(qū)域內每個像素點的值相乘再相加,并將值賦給中心像素點。常見的空域濾波的方法有均值濾波法、中值濾波法、多圖像平均法等方法,空域濾波針對的噪聲主要為隨機噪聲、椒鹽噪聲、高斯噪聲等。
鄰域平均法計算公式:
中值濾波法計算公式:
多圖像平均法計算公式:
頻域濾波是使用各種截止頻率不同、平滑程度不同、形狀不同的濾波圓或其他任意圖像遮擋頻譜圖進行濾波。常見的頻域濾波的方法有理想低通濾波、巴特沃斯低通濾波、高斯低通濾波,針對的噪聲主要為有特定頻率的噪聲,例如圖像中的正弦波噪聲。如圖3為實際運用較多的二階巴特沃斯低通濾波器二維以及三維圖像,選擇巴特沃斯低通濾波器的原因是它的通帶與阻帶之間變化幅度較為平滑,在高低頻率的變化不是特別明顯,相對于理想低通濾波器有一個相對較長的過渡帶。通過實驗對比可發(fā)現二階巴特沃斯低通濾波器的處理結果比理想濾波器的要好,但巴特沃斯低通濾波器階數增高時的振鈴現象也會對圖像質量產生影響。
理想低通濾波計算公式:
巴特沃斯低通濾波計算公式:
高斯低通濾波計算公式:
圖3 截止頻率為10的二階巴特沃斯低通濾波器示意圖
圖像的灰度圖在某種程度上反映了圖像中亮度的變化,直觀的展現了圖像明暗對比度,通過處理圖像灰度圖可以相應地提升圖像的亮度、對比度、清晰度以及提高獲取圖像信息的簡便性,由此對于圖像灰度圖的處理在數字圖像處理中占據很重要的位置,所以在處理圖像時經常使用到直方圖均衡化、灰度切割、二值化等方法,這些方法較為簡單在此不過多贅述而只介紹利用線性函數變換增強圖像對比度的方法。
一般情況下圖像的灰度圖中高低灰度值占比越大,圖像的對比度越強,所以常常需要對數字圖像擴展高低灰度值并壓縮中間灰度值。擴展方法可以根據線性變換函數,線性變換函數的好處在于比較直觀,且可以人為地規(guī)定灰度變換的區(qū)域以及變換值的大小。根據本系統要求增加圖像對比度,可以使高低灰度值線性變化直線斜率大于1,使中灰度值線性變化直線斜率小于1,如圖4 所示線性變換曲線示意圖。
視覺檢測系統的圖像尺寸單位以像素為單位,圖像系統的測量主要在于對圖像像素點的處理及計算,而實際生產生活中所運用的國際標準尺寸單位是mm。圖像系統的標定是數字圖像空間與實際空間聯系的橋梁,它將視覺檢測中的像素與實際生活中的毫米極高準確性的對應起來,這就可以采用標尺的參數利用攝像機拍攝物體用于計算三維空間中物象的位置、大小、形狀參數等信息。
圖4 擴展高低灰度值并壓縮中間灰度值線性變換曲線
標定的核心在于獲得圖像最外層坐標點,如圖5所示,先對采集到的圖像進行灰度變化二值化等預處理,在通過邊緣檢測獲得圖像的邊緣后跟蹤圖像的外部邊緣輪廓,可以得到圖像外部邊緣輪廓點,在對點進行計算則可以得到零件圖像素點長寬,并與實際已知標尺對應即可實現圖像系統的標定。
常用的邊緣檢測方法有:Roberts 算子、Sobel 算子、Prewitt 算子、Kirsch 算子、LOG(高斯拉普拉斯)算子、Canny 算子[3]和腐蝕算法等。在對比多種檢測算子后,本設計中采用Canny 算子提取圖像邊緣,Canny 算子邊緣檢測受噪聲干擾小,并且檢測圖像中弱邊緣能力強。這種算法優(yōu)點在于其使用雙閾值方法針對強邊緣和弱邊緣分別進行檢測處理。Canny 算子也是目前邊緣檢測種最常用也是效果最理想的邊緣檢測算法。
圖5 系統標定程序流程圖
本文介紹了一種數字圖像處理系統可以對數字圖像進行調焦評價、空頻域濾波、增強對比度并完成系統的標定。論述各個調教函數的實現方法,進行空頻域濾波應用領域的分析判斷,并采用線性變換曲線增強圖像的對比度,完成了系統的標定。分析并研究多個問題不同方法的優(yōu)缺點,表明使用者應根據場合不同采取不同的方法對數字圖像進行處理。另外在大多數情況下一種方法并不能很好地完成既定的目標,應根據實際情況采取多種方法疊加運用。