在使用光纖端面檢測儀對(duì)光纖端面進(jìn)行圖像采集的時(shí)候,由于光纖端面每次出現(xiàn)在視野范圍中的位置都有所不同,所以首先要對(duì)光纖端面纖芯的位置進(jìn)行定位才能對(duì)其進(jìn)行一系列的檢測。要定位纖芯的位置,首先需要將采集到的圖像二值化。因?yàn)橥ㄟ^光纖端面檢測儀采集得到的初始圖像為32位的,而在VBAI中對(duì)圖像分析處理的函數(shù)模塊基本上都是不支持32位圖的,所以只有把32位圖轉(zhuǎn)化成二值圖像,才能對(duì)其進(jìn)行一系列精確的分析。使用VBAI的視覺助手(VisionAssistant)函數(shù)模塊對(duì)初始圖像進(jìn)行圖像處理,通過抽取色彩值(ExtractHSL)的子函數(shù)即可得到灰度8位圖,然后使用閾值法將圖像二值化。
閾值法是一種簡單而且有效的圖像分割方法,此方法是用一個(gè)或幾個(gè)閾值將圖像的像素灰度級(jí)分為幾個(gè)級(jí)別,屬于一個(gè)級(jí)別的像素點(diǎn)被認(rèn)為是同一類物體。需要注意的是,在光纖端面檢測的過程中,由于包層可能會(huì)和包層外的臟污屬于同一個(gè)灰度級(jí),所以在對(duì)包層外的臟污檢測的時(shí)候是不能同時(shí)對(duì)包層上的臟污進(jìn)行檢測的,需要將包層屏蔽以后再檢測。
在本系統(tǒng)中,設(shè)F(x,y)表示對(duì)圖像二值化的輸出,其像素灰度級(jí)范圍為[a,b],對(duì)同一類型的缺陷檢測時(shí)只需要設(shè)定一個(gè)a和b之間的閾值TH,把圖像的像素分成大于TH的像素群(缺陷)和小于TH的像素群(背景)兩部分。即:
圖像二值化將缺陷像素點(diǎn)的灰度值設(shè)為0,背景像素點(diǎn)的灰度值設(shè)為1。在VBAI的視覺助手函數(shù)模塊中就有設(shè)置閾值(Threshold)的函數(shù)子模塊,調(diào)用的時(shí)候只需要在閾值直方圖上根據(jù)雙峰法找到波峰與波谷,并手動(dòng)調(diào)整閾值的大小,使其能將缺陷與背景區(qū)分開來即可,如圖2所示。
圖2原始圖像及其閾值直方圖
2.1纖芯的定位
本文定位光纖纖芯所使用的是方法是先找到光纖的整個(gè)包層,由于光纖包層的形狀是一個(gè)圓,而這個(gè)圓的圓心就是纖芯的中心了。光纖端面存在較大程度的污染的話,如果只是設(shè)置一定的閾值將圖像二值化,得到的二值圖像除了光纖包層外還可能會(huì)有很多臟污,這樣就會(huì)對(duì)光纖包層的定位產(chǎn)生很大的影響。所以二值化圖像后還需要使用視覺助手里的一些子函數(shù)模塊對(duì)圖像進(jìn)行一些形態(tài)學(xué)的處理,使用移除小顆粒(RemoveSmallObjeets)和移除大顆粒(RemoveLargeObjects)這兩種函數(shù)子模塊,調(diào)整迭代次數(shù)的大小,把比光纖包層小和比光纖包層大的顆粒都濾掉,從而除去對(duì)光纖包層定位的干擾,使得到的二值圖像里只有光纖包層的圖像,如圖3所示。
圖3將原始圖像處理成只有光纖包層的二值圖像
圖4不同位置纖芯的定位
得到光纖包層的二值圖像后,利用VBAI中尋找圓邊緣(FindCircularEdge)以及建立坐標(biāo)系(SetCoordinateSystem)的函數(shù)模塊,即能準(zhǔn)確地定位光纖纖芯的位置。尋找圓邊緣是為了尋找光纖包層圓的邊緣,從而尋找到光纖包層圓的圓心,這個(gè)圓心也是纖芯圓的圓心,然后以這個(gè)圓心為坐標(biāo)系原點(diǎn)建立坐標(biāo)系。在VBAI中,建立坐標(biāo)系這個(gè)函數(shù)的功能是定位特征,它能根據(jù)尋找到的包層圓自動(dòng)定位圓心,即使包層在圖像中的位置改變,坐標(biāo)系原點(diǎn)也能準(zhǔn)確地定位在包層圓的圓心上,而包層圓的圓心就是纖芯圓的圓心。由圖4可見,坐標(biāo)系的原點(diǎn)可以很精確地定位在位置不同的纖芯圓的圓心上,即使是在不規(guī)則的包層面上。
2.2檢測區(qū)域的劃分