機(jī)器視覺在光纖端面缺陷檢測中的應(yīng)用
閾值法是一種簡單而且有效的圖像分割方法,此方法是用一個或幾個閾值將圖像的像素灰度級分為幾個級別,屬于一個級別的像素點(diǎn)被認(rèn)為是同一類物體。需要注意的是,在光纖端面檢測的過程中,由于包層可能會和包層外的臟污屬于同一個灰度級,所以在對包層外的臟污檢測的時候是不能同時對包層上的臟污進(jìn)行檢測的,需要將包層屏蔽以后再檢測。
在本系統(tǒng)中,設(shè)F(x,y)表示對圖像二值化的輸出,其像素灰度級范圍為[a,b],對同一類型的缺陷檢測時只需要設(shè)定一個a和b之間的閾值TH,把圖像的像素分成大于TH的像素群(缺陷)和小于TH的像素群(背景)兩部分。即:
圖像二值化將缺陷像素點(diǎn)的灰度值設(shè)為0,背景像素點(diǎn)的灰度值設(shè)為1。在VBAI的視覺助手函數(shù)模塊中就有設(shè)置閾值(Threshold)的函數(shù)子模塊,調(diào)用的時候只需要在閾值直方圖上根據(jù)雙峰法找到波峰與波谷,并手動調(diào)整閾值的大小,使其能將缺陷與背景區(qū)分開來即可,如圖2所示。本文引用地址:http://m.butianyuan.cn/article/165974.htm
2.1 纖芯的定位
本文定位光纖纖芯所使用的是方法是先找到光纖的整個包層,由于光纖包層的形狀是一個圓,而這個圓的圓心就是纖芯的中心了。光纖端面存在較大程度的污染的話,如果只是設(shè)置一定的閾值將圖像二值化,得到的二值圖像除了光纖包層外還可能會有很多臟污,這樣就會對光纖包層的定位產(chǎn)生很大的影響。所以二值化圖像后還需要使用視覺助手里的一些子函數(shù)模塊對圖像進(jìn)行一些形態(tài)學(xué)的處理,使用移除小顆粒(RemoveSmall Objeets)和移除大顆粒(Remove Large Objects)這兩種函數(shù)子模塊,調(diào)整迭代次數(shù)的大小,把比光纖包層小和比光纖包層大的顆粒都濾掉,從而除去對光纖包層定位的干擾,使得到的二值圖像里只有光纖包層的圖像,如圖3所示。
得到光纖包層的二值圖像后,利用VBAI中尋找圓邊緣(Find Circular Edge)以及建立坐標(biāo)系(Set Coordinate System)的函數(shù)模塊,即能準(zhǔn)確地定位光纖纖芯的位置。尋找圓邊緣是為了尋找光纖包層圓的邊緣,從而尋找到光纖包層圓的圓心,這個圓心也是纖芯圓的圓心,然后以這個圓心為坐標(biāo)系原點(diǎn)建立坐標(biāo)系。在VBAI中,建立坐標(biāo)系這個函數(shù)的功能是定位特征,它能根據(jù)尋找到的包層圓自動定位圓心,即使包層在圖像中的位置改變,坐標(biāo)系原點(diǎn)也能準(zhǔn)確地定位在包層圓的圓心上,而包層圓的圓心就是纖芯圓的圓心。由圖4可見,坐標(biāo)系的原點(diǎn)可以很精確地定位在位置不同的纖芯圓的圓心上,即使是在不規(guī)則的包層面上。
2.2 檢測區(qū)域的劃分
在定位了光纖纖芯之后,由于在光纖端面上不同圓環(huán)范圍內(nèi)所用的檢測標(biāo)準(zhǔn)也不同,所以要以纖芯中心為圓心作不同區(qū)域的圓環(huán),再在每個圓環(huán)內(nèi)按規(guī)定的檢測標(biāo)準(zhǔn)進(jìn)行檢測。如果有任意一個圓環(huán)內(nèi)的檢測不能通過,則這個光纖就是有缺陷的,不能通過。在劃分區(qū)域的時候,由于通過光纖端面檢測儀采集得到的圖像在VBAI環(huán)境下是以像素(pix)為計量單位的,而一般檢測標(biāo)準(zhǔn)中給出的光纖端面檢測要求是以微米(μm)為計量單位的,所以要通過公式(2)進(jìn)行轉(zhuǎn)換將微米(μm)轉(zhuǎn)換成像素(pix)。轉(zhuǎn)換的時候需要知道一個參數(shù):dpi(每英寸多少點(diǎn)),知道了dpi就可以從公式(2)得到像素與微米的轉(zhuǎn)換關(guān)系。設(shè)P為像素,D為dpi,I為英尺,M為微米,則:
一張圖片的dpi可以通過一些常用的看圖軟件得到(如Acdsee,Photoshop等),平時所用的640×480或800×600等標(biāo)準(zhǔn)的分辨率的dpi是一個常數(shù):96。這樣在對光纖端面進(jìn)行區(qū)域劃分的時候,就能準(zhǔn)確地算出每個圓環(huán)的直徑,從而對整個光纖端面可以進(jìn)行細(xì)致并且精確的檢測。
評論