吳劍峰
摘要:現(xiàn)代工業(yè)對測量的精度、測量的效率以及測量的自動化程度的要求越來越高,傳統(tǒng)的測量技術(shù)很難達(dá)到這樣的要求,如微小尺寸的測量?;贑CD成像的圖像測量方法由于其非接觸性、精確性、實(shí)時(shí)性等優(yōu)勢而被廣泛的應(yīng)用于精確測量中。該文從軟件入手,改進(jìn)圖像處理的算法,利用亞像素的圖像處理技術(shù),即精度更高的亞像素邊緣檢測算法,來使圖像的邊緣定位更加精確,從而提高基于圖像處理的入射角測量系統(tǒng)的測量精度。通過實(shí)驗(yàn)分析,表明亞像素圖像處理測量誤差比整像素圖像處理測量誤差小,均小于0.05,很好的提高了測量精確度。
關(guān)鍵詞:圖像處理;亞像素級;精確測量;CCD
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)08-0191-02
隨著社會的發(fā)展,工業(yè)生產(chǎn)對測量技術(shù)的要求也越來越高,專家預(yù)計(jì),新世紀(jì)圖像測量技術(shù)的發(fā)展趨勢如下:測量精度進(jìn)一步提高,從微米級向納米級發(fā)展;使用在線測量代替線外測量,將實(shí)時(shí)測量信息用于過程控制,從而構(gòu)造高精度、智能化動態(tài)系統(tǒng)。
總之,圖像測量技術(shù)必然會向高精度化、高速化和高效率化方向發(fā)展,本文利用精度更高的亞像素邊緣檢測算法,來使圖像的邊緣定位更加精確,從而提高入射角測量系統(tǒng)的精度。
1測量系統(tǒng)基本原理
本文所設(shè)計(jì)的測量系統(tǒng)的是為了測量平行光入射角度,我們知道,在一個(gè)直角三角形中,如果知道了兩個(gè)邊長,就可以利用直角三角形的邊與角的關(guān)系求出任意一個(gè)角度。
本文所設(shè)計(jì)的測量系統(tǒng)測量平行光入射角度的基本原理首先根據(jù)硬件設(shè)備構(gòu)建一個(gè)如上圖所示的三角測量系統(tǒng),然后通過求出測量系統(tǒng)的兩個(gè)長度,最后利用相關(guān)幾何知識求出平行光入射角度。本文設(shè)計(jì)的整個(gè)測量系統(tǒng)的電路連接圖如圖1所示。利用攝像頭B存儲圖像數(shù)據(jù),對存儲的圖像數(shù)據(jù)進(jìn)行處理可以得到攝像頭A的位置,即可以直角邊長h。并且通過找出攝像頭A捕捉到光斑最大最強(qiáng)的那一幀圖像時(shí)所處的位置,即平行光線直射的位置。有前面分析可知為了提高檢測位置的精確度,就需要攝像頭A捕捉到的光斑進(jìn)行高精度的邊緣檢測。本文采用的是亞像素圖像處理方法。
2亞像素概述
亞像素是指兩個(gè)相鄰的像素點(diǎn)之間的細(xì)分,也就是說把每一個(gè)像素點(diǎn)細(xì)分為多個(gè)更小的像素單元。亞像素的圖像處理算法是把原始圖像中的每個(gè)像素進(jìn)行放大,比如放大了n×n倍(n=1,2,3…),那么就得到了n×n個(gè)亞像素點(diǎn),然后根據(jù)算法計(jì)算出這n×n個(gè)亞像素點(diǎn)的灰度值,從而得到了一幅放大n×n倍的新的灰度圖,我們稱得到的新的灰度圖為亞像素圖像。
根據(jù)亞像素定位的原理我們可以得出亞像素定位技術(shù)的兩個(gè)前提條件:第一,目標(biāo)必須是由多個(gè)像素點(diǎn)組成的,并且要有特定的幾何灰度值分布特征。第二,亞像素圖像處理算法需要先用傳統(tǒng)的圖像處理方法進(jìn)行預(yù)處理,從而得到整像素精度的處理結(jié)果,即粗定位,之后再進(jìn)行亞像素圖像處理,即細(xì)定位[6]。
3高斯擬合亞像素邊緣檢測算法
經(jīng)過對需要檢測的邊緣精度、檢測速度以及抗噪性能的考慮,本測量裝置選擇采用的是高斯擬合亞像素邊緣檢測算法,該方法定位邊緣的精度高。
在梯度方向上的高斯曲線擬合亞像素定位的算法思想是針對M×N圖像的,我們先在圖像的邊緣附近選擇某一個(gè)領(lǐng)域U,例如領(lǐng)域U(P0,δ)={(x,y)|x=x0,|y-y0|<δ},假設(shè)H是在此領(lǐng)域內(nèi)的某一矩陣,且表示在該領(lǐng)域內(nèi)(i,j)點(diǎn)的灰度值,則可以求出灰度矩陣H=[h1;h2;h3;…;hi],i=1,2,3,…,N。
假設(shè)圖像的灰度值的分布函數(shù)為y=f(x),那么t=f(x)即為灰度值梯度函數(shù),利用f”(x)=0求出灰度值分布特征點(diǎn)。繼而求出圖像邊緣的梯度圖,如下圖2,在特征點(diǎn)k一定會形成一個(gè)凸點(diǎn),我們只要能求出梯度分布曲線的凸點(diǎn)就可以得到灰度分布特征點(diǎn)。
對圖像的灰度值進(jìn)行求導(dǎo)可以得到圖像的梯度值,然后再根據(jù)梯度值進(jìn)行高斯擬合。因?yàn)榍筇荻戎登蟮玫氖请x散的點(diǎn),那么我們首先需要將離散的點(diǎn)擬合稱為一條連續(xù)的曲線,然后再求擬合而成的曲線的對稱軸的坐標(biāo)值。求某一梯度方向上灰度值的一階導(dǎo)數(shù),求出的結(jié)果與高斯分布很相似,因?yàn)楦咚狗植嫉钠骄凳窃撎荻确较蛏匣叶戎底兓畲蟮牡胤剑催吘壍木唧w位置,所以只要我們能夠求出高斯分布的均值,那么也就能夠準(zhǔn)確的定位亞像素邊緣的位置了。
上式中的μ值即為亞像素值。因?yàn)橥ㄟ^同一個(gè)邊緣點(diǎn)的不同方向上求出的亞像素精度上的邊緣值均相等,也就是說圖像在同一邊緣處具有旋轉(zhuǎn)不變性,所以我們對亞像素精度上的邊緣值對選擇的直線方向沒有特別的要求,任何方向都可以選擇。
4試驗(yàn)及誤差分析
測量的關(guān)鍵一步就是準(zhǔn)確找到攝像頭A上紅色十字的橫線的上下邊緣,為了準(zhǔn)確地提取出邊緣,首先要對原圖像進(jìn)行相應(yīng)的預(yù)處理。邊緣檢測的處理流程包括:灰度化、二值化、邊緣檢測。實(shí)驗(yàn)中我們使用整像素級別的測量方法求下十字架和上十字架的中心位置的像素點(diǎn)的差值是171,通過實(shí)驗(yàn)我們可以求得每個(gè)像素點(diǎn)代表的實(shí)際長度是0.926cm,所以可以求出攝像頭A距零點(diǎn)的位置為158.346cm,即h的值為158.346cm。因?yàn)閟的值為2000cm,所以根據(jù)公式可求得光線的發(fā)射角度為:θ=arctan(h/s)=arctan(158.346/2000)=4.527o
此角度是我們利用測量系統(tǒng)測出的角度,而用全站儀測量距離然后計(jì)算出的角度為4.471o,兩者相差0.056o,誤差大于要求的誤差0.05o。
利用亞像素邊緣檢測圖中下十字的中心在653.403個(gè)像素位置上;上十字的中心在483.801個(gè)像素位置上。計(jì)算出:h=157.3341cm;θ=4.498°。此角度與全站儀所測距離計(jì)算出角度4.471o的差值為0.027o,誤差小于要求的誤差0.05o。
為了進(jìn)一步驗(yàn)證亞像素圖像處理提高測量系統(tǒng)精確度,我們進(jìn)行了多次測量實(shí)驗(yàn)。結(jié)果如下表所示:
由上表可以看出,利用亞像素圖像處理測量誤差均比利用整像素圖像處理的測量誤差還要小。所以由實(shí)驗(yàn)可知,測量過程中利用亞像素圖像處理很好地提高了測量精確度,滿足了系統(tǒng)的測量誤差要求。
5結(jié)束語
本文將亞像素邊緣檢測算法運(yùn)用到平行光角度檢測系統(tǒng)當(dāng)中,來提高系統(tǒng)的測量精度。通過用全站儀測得的數(shù)據(jù)作為標(biāo)準(zhǔn)與測量系統(tǒng)測得的數(shù)據(jù)進(jìn)行比較,表明亞像素圖像處理測量誤差比整像素圖像處理測量誤差小,說明利用亞像素圖像處理很好地提高了測量精確度。
參考文獻(xiàn):
[1] 于起峰,陸宏偉,劉肖林.基于圖像的精密測量與運(yùn)動測量[M].北京:科學(xué)出版社,2002.
[2] 張永宏,胡德金,張凱,等.基于灰度矩的CCD圖像亞像素邊緣檢測算法研究[J].光學(xué)技術(shù),2004,5.30(6):693-698.
[3] 羅鈞,侯艷,付麗.一種改進(jìn)的灰度矩亞像素邊緣檢測算法[J].重慶大學(xué)學(xué)報(bào),2008,5(5):549-552.