趙 徹,徐熙平
(長(zhǎng)春理工大學(xué)光電工程學(xué)院,長(zhǎng)春,130022)
本測(cè)量系統(tǒng)由平行光源、成像透鏡、CCD 相機(jī)、圖像采集卡和計(jì)算機(jī)處理系統(tǒng)組成,如圖1 所示。
圖像處理的主要目的是對(duì)待測(cè)工件進(jìn)行輪廓的提取,大幅度的減少數(shù)據(jù)量,剔除那些被認(rèn)為不相關(guān)的信息,保留圖像重要的結(jié)構(gòu)屬性。通過邊緣檢測(cè)提取工件輪廓信息是測(cè)量工件幾何參數(shù)的基礎(chǔ)。
在實(shí)際測(cè)量的環(huán)境中,尤其在工業(yè)生產(chǎn)的條件下,圖像信號(hào)在傳輸過程中極易受到一些隨機(jī)噪聲的干擾,嚴(yán)重破壞圖像的質(zhì)量,影響測(cè)量的精度。所以我們這里采用中值濾波來消除可能出現(xiàn)的隨機(jī)噪聲。中值濾波本質(zhì)上是一種統(tǒng)計(jì)排序?yàn)V波器。對(duì)于原圖像中某點(diǎn)(i,j),中值濾波以該點(diǎn)為中心的鄰域內(nèi)的所有像素的統(tǒng)計(jì)排序中值作為(i,j)點(diǎn)的響應(yīng)。
本文選用Canny 邊緣檢測(cè)算子來進(jìn)行圖片的輪廓提取。以下是實(shí)現(xiàn)過程
用高斯濾波器平滑圖像。
這里,利用一個(gè)省略系數(shù)的高斯函數(shù)H(x,y):
其中f(x,y)是圖像數(shù)據(jù)。
對(duì)梯度幅值進(jìn)行非極大值抑制。
僅僅得到全局的梯度并不足以確定邊緣。為確定邊緣,必須保留局部梯度最大的點(diǎn),而抑制非極大值,即將非局部極大值點(diǎn)置零以得到細(xì)化的邊緣。
在每一點(diǎn)上,鄰域的中心像素M 與沿著梯度線的兩個(gè)像素相比。如果M 的梯度值不比沿梯度線的兩個(gè)相鄰像素梯度值大,則令M=0。
用雙閾值算法檢測(cè)和連接邊緣。
使用兩個(gè)閾值T1 和T2(T1 在Visual C++ 6.0 平臺(tái)上用C++語(yǔ)言實(shí)現(xiàn)Canny 算子并對(duì)圖2 進(jìn)行輪廓提取,得到圖2 所示的處理結(jié)果: 圖2 Canny 算子提取的芯片邊緣輪廓 可見芯片的邊緣清晰,完整,完全可以滿足后續(xù)測(cè)量的要求。 由于實(shí)驗(yàn)對(duì)圖像中每一個(gè)像素點(diǎn)進(jìn)行掃描來計(jì)算幾何參數(shù),一般測(cè)量結(jié)果只具有像素級(jí)的精度。在CCD 攝像機(jī)分辨率一定的情況下需要對(duì)算法進(jìn)行優(yōu)化,實(shí)現(xiàn)圖像上的特征目標(biāo)定位在亞像素級(jí)別。CCD 器件某一個(gè)像素的灰度值輸入可表示為: 令差分值最大的點(diǎn)的序號(hào)為0,值表示為f0,左右相鄰的四個(gè)點(diǎn)的序號(hào)分別表示-2、-1、1、2,相應(yīng)的值表示為f-2、f-1、f1、f2,可求出五個(gè)像素輸出的灰度值如下所示: 可求得: a=0.1429f-2-0.0714f-1-0.1429f0-0.0714f1+0.1429f2 b=-0.2f-2-0.1f1+0.2f2 c=-0.0976f-2+0.3488f-1+0.4976f0+0.3488f1-0.0976f2 經(jīng)驗(yàn)證由該公式計(jì)算得到的亞像素精度的邊緣點(diǎn),精確到0.1 個(gè)像素,相當(dāng)于將CCD 的分辨率提高了10 倍,利用此處理方法可降低測(cè)量結(jié)果的誤差。 具體的測(cè)量結(jié)果如下表 由表1 可以看出, 測(cè)量精度在0.005mm 以內(nèi)。 表1 實(shí)驗(yàn)結(jié)果 [1] Y.Hara,etal,AutomatiC Inspection System for Printed Circuit Boards,IEEE [2] M.M.Landman,S.J.Roberton,A flexible industrial system for automated three—dimensional inspection,SPIE,Vol.728,1986,203-209.3 實(shí)驗(yàn)結(jié)果與分析