夏建春,陸旭明,高蘭
(常州紡織服裝職業(yè)技術(shù)學院,江蘇 常州 213164)
圖像測量技術(shù)不同于其它測量方法的最主要特點,是圖像測量時由于在成像過程中被測要素會全部反映在同幅圖片中,因此各幾何元素之間的相對位置關(guān)系不會發(fā)生變化。
當相機焦距固定時,那么圖像的尺寸由被測物體的尺寸和鏡頭與被測物之間的距離共同決定。反之,如果圖像中的尺寸確定了,被測物體的尺寸也就能確定。一般在測量時,鏡頭與被測物之間的距離L的長度可以通過標定的方法消除,即圖像尺寸直接表示成被測物體的尺寸。在圖像中,圖像中的尺寸往往使用像素進行表示的。標定就是指確定像素點之間的長度。相機標定的方法大致可分為傳統(tǒng)標定法、自標定方法兩類。本文主要采用的是傳統(tǒng)相機標定方法,將相機固定住。相機與被測物體之間的距離也被固定下來。采用一個標定物進行圖像的采集。標定物的尺寸參數(shù)都要固定,那么得到的圖像就可以進行標定了,這樣就換算出單位像素表示的長度和面積。
測量系統(tǒng)是模擬的人的視覺目測工件尺寸的,對于一個人目測一件物體時,需要眼睛去看,然后大腦進行分析。因此其基本結(jié)構(gòu)中,被測對象所處的背景應(yīng)簡單,光照條件較好。攝像機進行圖像采集,然后將圖像傳送給計算機進行處理。這里攝像機就是模擬人眼睛的作用,而計算機則是模擬人大腦的作用。在這里相機作為眼睛的作用是至關(guān)重要的。
本文采用的相機是愛國者DLCW-L130萬高清晰彩色工業(yè)相機,這款工業(yè)相機是由華旗數(shù)碼技術(shù)實驗室最新開發(fā)的,高速USB2.0接口和大面陣CMOS圖像傳感器組成的高分辨率彩色數(shù)字攝像機。該產(chǎn)品全面兼容MICROSOFT WINDOWS所有應(yīng)用環(huán)境。相機為即插即用型設(shè)備,用數(shù)據(jù)線將相機和計算機直接進行連接。那么驅(qū)動程序會將圖像數(shù)據(jù)裝載在計算機內(nèi)存中,只要解讀內(nèi)存數(shù)據(jù)就可以得到圖像數(shù)據(jù)了。
從相機的基本參數(shù)來看,130萬像素對于測量精度要求較高的場合是不夠的,但是一般測量還是可以滿足的。
本文針對的工件物體的主要尺寸是通過圖像數(shù)據(jù)的分析得到的。
圖像的采集是將空間的物體轉(zhuǎn)換成二維平面表示,將圖像信號轉(zhuǎn)換成數(shù)字信號,那么計算機就能夠進行處理了。
首先進行的是圖像的切割處理,本文采用的工業(yè)相機的視角較大,整個圖像包括了許多不需要的數(shù)據(jù),本文的興趣區(qū)域只集中在中間特定的區(qū)域范圍內(nèi),因此,可以將不感興趣的區(qū)域進行切除。這里,本文就采用了直接刪除的方式可以將圖像縮小成800*600的圖像數(shù)據(jù),從而大大減少了數(shù)據(jù)運算量。
本文的目的是為了進行尺寸的測量,因此本文是不需要圖像信息的。這里采用灰度圖進行圖像的表示。為了將目標圖像轉(zhuǎn)換成灰度圖,采用的方法很多,本文采用了如下公式:
濾波是為了讓圖像減小噪聲的干擾,本文采用的濾波方法為中值濾波,采用的濾波模板為3*3的方式。中間的為對象像素點,該點的8-鄰域的數(shù)據(jù)與本身共9個數(shù)據(jù)進行排列,取中間的值作為目標像素點的值進行賦值。運算完成,模板移動,完成下一個像素點的賦值。
然后就需要進行圖像分割了,圖像分割是將目標物體與背景分割開,是對目標物體運算的最直接方式,也是極其重要的過程。圖像分割的方法很多,本文主要采用的是閾值分割的方法。 即 g(x,y)=
T即為閾值,通過這種方式就將目標物體分割開。閾值的選擇往往是需要文獻關(guān)注的焦點,本文由于目標特征明顯,環(huán)境簡單。因此閾值是直接賦予的,在測試時,根據(jù)環(huán)境的不同,采用程序的滑動條進行閾值的修正。
圖像分割完成之后,就可以進行工件尺寸的計算了。根據(jù)第二節(jié)的內(nèi)容可知,這里只需要進行像素數(shù)據(jù)的統(tǒng)計工作。程序流程中,工件的尺寸數(shù)據(jù)分成三個模塊分別進行統(tǒng)計計算。第一個模塊是工件的面積,本文直接進行像素點的統(tǒng)計。
第二個模塊是工件的周長,這里的周長數(shù)據(jù)計算可以根據(jù)邊緣數(shù)據(jù)進行計算。求取邊緣的模板很多,比較常用的梯度算子模板包括有 Roberts模板、Sobel模板、Laplacian模板等。本文求取周長采用的8-鄰域跟蹤算法。
圖像中的任一點總有8個點和它相鄰,即8鄰域點。如設(shè)定目標點正上方的點為0鄰域點,按逆時針方向8鄰域點分別標為0鄰域點、1鄰域點、… …、7鄰域點。它們相對目標點的 坐 標 分 別 為 (0,-1)、(-1,-1)、(-l,0)、(-1,1)、(0,1)、(1,1)、(1,0)、(1,-1)。 那么主要算法如下:①獲取二值圖像;②對圖像數(shù)據(jù)進行掃描;③找到第一個點(當像素數(shù)據(jù)從0變?yōu)?時,就認為是第一個點),記錄點的位置數(shù)據(jù);④開始找邊緣,初始方向為3,找到邊界點則方向-2,否則+1,找到的目標點像素數(shù)據(jù)改為2,當找到的目標點為第一個點時,結(jié)束。判斷邊緣像素點數(shù)是否處于模切片邊緣長度區(qū)間,如是則目標個數(shù)+1;⑤繼續(xù)下一目標的搜索,重復(3)、(4)直到圖像數(shù)據(jù)全部掃描完成。
通過8-鄰域跟蹤就將周長數(shù)據(jù)統(tǒng)計出。
第三個模塊是邊長計算,邊長的計算往往可以采用hough變換的方式,通過hough變化將同一直線上的像素統(tǒng)計出來,從而可以得到邊長數(shù)據(jù)。本文采用的方式是根據(jù)第二模塊周長統(tǒng)計而來。根據(jù)8-鄰域的觀點可以認為,邊與邊交界處是圖像像素鄰域方向突然變化的地方,因此在第二模塊計算邊緣時,同時記錄方向數(shù)據(jù)。方向不變的可以認為是同一邊,方向突變,那么就要下一個邊的統(tǒng)計。
本文主要設(shè)計的是一套基于視覺圖像的檢測裝置,在相機的基本條件下滿足了一半測量的要求。同時,該裝置主要是進行的固定測量,如果需要在實際應(yīng)用中進行動態(tài)測量,那么最關(guān)鍵之處還在于如何進行標定。同時,由于被測物體往往都是三維的。因此測量時,需要不斷的調(diào)整視覺位置以正對的被測物,這就需要機械手的配合。