李 杰,蔣躍武,蔣 慶
(1.四川大學(xué)物理科學(xué)與技術(shù)學(xué)院,四川 成都 610065;2.中核燃料元件有限公司南方分公司,四川 宜賓 644000)
游標(biāo)卡尺是一種測量長度、內(nèi)外徑、深度的精密量具,應(yīng)用廣泛。為保證游標(biāo)卡尺的精度,需定期對游標(biāo)卡尺進(jìn)行檢定。JJG 30-2012《通用卡尺檢定規(guī)程》[1]在人為檢定的基礎(chǔ)上對以往版本進(jìn)行了更合理的修改,但卡尺檢定步驟繁多,檢定時間長,為此可以改用圖像法自動讀取游標(biāo)對齊刻度以減少卡尺檢定的工作量。
為讀取游標(biāo)的對齊刻度,可根據(jù)游標(biāo)“零”刻度與主尺刻度的相對位置得到游標(biāo)的對齊刻度,但考慮到高精度的工業(yè)攝像頭成本較高,現(xiàn)改用步進(jìn)電機(jī)與攝像頭結(jié)合,以多次采集圖像的方式讀取游標(biāo)對齊刻度。
定義游標(biāo)上刻度距游標(biāo)“零”刻度的格數(shù)為該游標(biāo)刻度的刻度數(shù)。主要步驟:對攝像頭采集到的游標(biāo)“零”刻度圖像進(jìn)行游標(biāo)和主尺的分割以求出游標(biāo)和主尺的刻度位置;根據(jù)游標(biāo)“零”刻度與游標(biāo)“零”刻度相鄰兩主尺刻度的相對位置求出游標(biāo)長刻度的標(biāo)定數(shù)和攝像頭的位移;攝像頭移動到指定位置;對攝像頭采集到的游標(biāo)對齊刻度圖像進(jìn)行游標(biāo)和主尺的分割以求出游標(biāo)和主尺的刻度位置;判斷游標(biāo)和主尺的刻度位置,得到相隔最近的刻度即對齊刻度。
為得到圖像的分界線位置,簡單而有效的方法之一是進(jìn)行霍夫變換。
通過霍夫變換可以有效地識別圖像中的幾何形狀,如在平面直角坐標(biāo)系x,y中一條方程為y=kx+b的直線上一個確定的點(diǎn)(x0,y0),有 y0=kx0+b。因此,一組k和b的值對應(yīng)圖像上的一條直線,圖像上的一條直線對應(yīng)參數(shù)平面k,b的一個點(diǎn)[2]。故對圖像上所有的點(diǎn)做霍夫變換后,最終檢測的直線是參數(shù)平面上次數(shù)最多的那個點(diǎn)。由于刻度垂直x軸,故在刻度上的一個確定點(diǎn)(x0,y0)有y0=b,這表明分界線所在的行上相同b的值個數(shù)最多。參數(shù)平面經(jīng)過二值化、滑動平均后得到每一行相同b值的個數(shù)如圖3所示。
圖3 分界線位置
確定分界線位置以后,由于分界線附近光照不均勻,容易造成游標(biāo)在主尺上留有陰影、游標(biāo)邊沿不是絕對直線和邊界線附近臟污較多,故舍去游標(biāo)與卡尺分界線附近的數(shù)據(jù)。
由于噪聲對圖像的影響,首先對游標(biāo)和主尺的刻度數(shù)據(jù)分別作平均值濾波,再做卷積或滑動平均。卷積用一個已知的波峰函數(shù)與圖像數(shù)據(jù)作乘積和,滑動平均可以等效為一個卷積函數(shù)為矩形的卷積,圖4為圖像數(shù)據(jù)作平均值濾波后和其分別作滑動平均和卷積之后的刻度峰值圖像。
圖4 數(shù)據(jù)處理對比
通過對比,經(jīng)過滑動平均和卷積處理后的圖像相差不大,但都明顯優(yōu)于原始數(shù)據(jù)。通過對峰值間距的方差計(jì)算發(fā)現(xiàn),作滑動平均后得到的間距方差稍小于卷積后的間距方差,同時滑動平均的計(jì)算量也小于卷積的。
由于一般工業(yè)攝像頭的像素大小為500×500,實(shí)際攝像范圍為10 cm×10 cm,故實(shí)際的像素點(diǎn)大小約為0.02 cm,與游標(biāo)卡尺的分辨率相近,因此有必要對圖像數(shù)據(jù)進(jìn)行亞像素處理。
由于刻度的灰度值衰減可以等效于高斯函數(shù)衰減[3],而高斯函數(shù)可以近似為二項(xiàng)式。故可以對原有數(shù)據(jù)進(jìn)行高斯函數(shù)擬合或二項(xiàng)式擬合,通過擬合可以得到更準(zhǔn)確的刻度位置。
為保證擬合結(jié)果的準(zhǔn)確性,擬合數(shù)據(jù)只取峰值部分,即可取峰值和峰值前后各兩個點(diǎn)。其中對高斯函數(shù)y=a×e-(x-b)2/c2擬合時先對擬合數(shù)據(jù)求以e為底的對數(shù),再進(jìn)行二項(xiàng)式擬合,擬合結(jié)果為y=g1x2+g2x+g3,則
再將a、b和c代入高斯函數(shù),即可得到高斯函數(shù)擬合后的函數(shù)。二項(xiàng)式擬合和高斯函數(shù)擬合的結(jié)果如圖5所示。
圖5 二項(xiàng)式擬合和高斯函數(shù)擬合
通過對擬合后的峰值間距方差的計(jì)算發(fā)現(xiàn),作二項(xiàng)式擬合后得到的間距方差小于高斯函數(shù)擬合后的方差,同時二項(xiàng)式擬合的計(jì)算量也小于高斯函數(shù)擬合的。擬合后取其峰值坐標(biāo),并替換原峰值坐標(biāo),如此完成圖像的亞像素處理。
通過提取刻度的位置,得到游標(biāo)刻度的平均間距a、主尺刻度的平均間距b、圖像寬度x、游標(biāo)“零”刻度位置x1和主尺的前一根刻度位置x2,則攝像頭的位移和游標(biāo)長刻度標(biāo)定計(jì)算如下
其中,y1為攝像頭的位移,y2為游標(biāo)長刻度的標(biāo)定,通過攝像頭移動可得對齊刻度位于對齊刻度圖像的中間。
通過提取對齊刻度圖像的刻度列的位置并計(jì)算主尺與游標(biāo)刻度的間距,整個圖像中間距最小刻度為對齊刻度。同時得到此圖中對齊刻度的游標(biāo)刻度數(shù)、對齊刻度的游標(biāo)刻度的前一根長刻度的刻度數(shù)和前一張圖像的游標(biāo)長刻度標(biāo)定,計(jì)算如下
其中,a為≤x的5的最大倍數(shù)。
通過此方法可以準(zhǔn)確讀出游標(biāo)的對其刻度,并能在像素大小與游標(biāo)卡尺精度相近的情況下可以有效地減少誤差。
[1]陜西省計(jì)量科學(xué)研究院.通用卡尺檢定規(guī)程JJG 30-2012[S].哈爾濱:全國幾何量工程參數(shù)計(jì)量技術(shù)委員會,2012.
[2]李本伍,王小華,謝君廷.一種圖像中檢測直線的快速算法[J].杭州電子科技大學(xué)學(xué)報(bào),2007(6):67-70.
[3]曹占輝,李言俊,張科,等.一種基于高斯函數(shù)的直線型邊緣提取算法[J].紅外技術(shù),2006(4):207-209.