基于LabVIEW機器視覺的微小位移動態測量
前言
測量物體的微小位移在許多方面如數控機床的精確加工等,有廣泛的應用。目前測量物體的微小位移已經發展了多種方法:激光位移傳感器測量法、電容位移傳感器測量法等。本文實現了一種基于LabVIEW機器視覺軟件平臺和讀數顯微鏡以及USB攝像頭測量微小位移的系統。該系統成本低,操作方便,并實現了計算機的實時動態測量。由美國NI公司推出的LabVIEW是目前最流行、應用最廣、發展最快和功能最強的圖形化數據軟件[1-4]。NI公司推出的機器視覺平臺是專門的圖像處理軟件平臺。本測量系統采用LabVIEW和機器視覺軟件平臺編程控制USB攝像頭采集讀數顯微鏡的物體圖像移動,通過計算機判斷物體圖像的像素移動來計算物體移動的微小位移。整個實驗過程中,圖像采集和數據處理都是通過LabVIEW軟件編程實現。由于攝像頭的幀速為30幀/秒,因此可實現動態測量、÷像o實時顯示結果并將數據實時保存。
1 實驗原理和思路
通過讀數顯微鏡的放大作用把物體發生的微小位移放大,利用攝像頭拍攝物體放大的圖像,用計算機對圖像進行二值化處理,通過移動前后圖像質心位置像素點的變化可計算出物體位移的變化。圖1是實驗原理和測量流程圖。
圖1 微小位移測量實驗原理圖
實驗思路如下:讀數顯微鏡底座的LED發射出均勻穩定的光,照射到顯微鏡載物臺的玻璃片上。物體的移動牽引顯微鏡物鏡下的細絲產生微小位移,這里,細絲的位移就是物體的位移。顯微鏡對細絲成一個清晰放大的像,被置于目鏡上的USB攝像頭采集到圖像并將圖像傳到計算機進行處理。計算機對采集到的圖像先進行二值化處理,濾去背景圖像的影響,計算出圖像質心的位置。通過比較前后圖像質心的位置坐標,可計算出質心移動的像素點。實驗中通過多次測量,先得出圖像單位像素點和物體實際位移的比例系數。實際測量物體的位移時,通過計算出圖像質心像素點的變化,再乘以單位像素點的變化與物體實際位移的比例系數,計算出物體的實際位移。
實驗中使用的實驗儀器和裝置包括:讀數顯微鏡(型號為:JCD-Ⅲ,上海光學儀器廠)。實驗中顯微鏡的目鏡×10,物鏡×10,對細絲的放大倍數為 100倍。攝像頭:普通羅技快看高手版(羅技公司),攝像頭的分辯率 320×240,30萬像素,拍攝幀速為30幀/秒。細絲為精確加工的黑色細絲,直徑約為 。
2 基于LabVIEW和視覺開發平臺測量系統的程序設計
2.1 程序設計的思路
實驗通過采用LabVIEW視覺軟件平臺編程控制USB攝像頭采集顯微鏡中放大的物體圖像。通過對圖像進行計算和處理,計算出移動物體圖像的質心像素的位置變化來測量物體的微小位移。在LabVIEW的機器編程中,采用編程控制USB攝像頭的采集。為了濾去背景圖像和噪音的影響,采集到的圖像需經過二值化處理。通過設定門限值,將圖像像素值高于門限值的設為最高像素值,低于門限值的置零,獲得細絲的二值化圖像。調用視覺開發平臺中的專門模塊計算出細絲圖像質心的像素位置[5-6],進一步計算出移動前后質心像素位置變化的像素點個數。測量時,通過計算出圖像質心移動的像素點個數乘以單位像素點的變化與實際距離的比例系數,求得物體移動的實際距離。
2.2 測量程序顯示界面的設計
USB 攝像頭將被測物體所成像變為數字圖像輸入計算機,由LabVIEW軟件平臺調用并顯示。考慮到顯示的方便,測量程序設為兩個界面顯示。圖2是測量程序的實時同步測量界面。“圖像跟蹤”實時顯示攝像頭拍攝到的顯微鏡成的細絲圖像,直觀顯示圖像移動,圖中黑色物體為細絲的圖像;“結果”和“位移記錄”實時顯示物體位移變化;點擊“開始測量”鍵,計算機啟動攝像頭開始測量;點擊“復位”鍵重新測量。考慮到攝像頭開始工作時一般都不穩定,設置計算機啟動攝像頭開始測量后采集到的前15幀圖像不予采用。為了方便顯示,設置圖像采集在藍色進度條走完之后開始測量。通過這個界面,能夠直觀觀測到物體的圖像和位移。
圖2 同步測量顯示界面
2.3 測量的LabVIEW程序設計
在LabVIEW 中,由于將調用函數模塊化了,因此調用USB攝像頭非常簡單。圖3是LabVIEW調用USB攝像頭采集圖像的編程。調用的過程如下:調用攝像頭①IMAQ Create.vi —> ②IMAQ USB Grab Setup.vi — > ③IMAQ USB Grab Acquire.vi —>④IMAQ USB Close.vi,該過程為靜態拍攝一幀。加上一個循環 ⑥While Loop,通過⑤Wait Until Next ms Multiple控制While Loop每隔多少毫秒觸發一次(默認值為 33.3毫秒,也就是每秒三十30幀),輸出⑦Image Display。

圖3 調用USB攝像頭采集圖像
從USB攝像頭采集到的圖像經過圖4進行二值化的編程處理:從①IMAQ USB Grab Acquire.vi輸出的圖像 ②IMAQ ColorImageToArray,由③Optional Rectangle功能截取采集圖像的有效部分并轉化為一個32位的二維數組。為了便于確定二值化門限的標度,使用To Unsigned Byte Integer 把32位數組轉化為8位數組,通過兩次使用④For Loop的循環端口i和⑤⑥Index Array對二維數組進行索引;使用Less Or Equal?和⑦Sel ect對數組的每一個值與預先的門限值進行比較判斷,規定大于預先給定門限值為0(亮度最小),否則為255(亮度最大)。經過二值化處理后的數組通過IMAQ ArrayToImage轉化為圖像顯示出來,這樣就把采集到的圖像變為只有黑白兩種顏色。其中,白色代表物體所成的像,黑色為背景圖像。

圖4 二值化處理圖像
NI公司的機器視覺軟件平臺是專門為圖像處理開發的,有很多專用的軟件模塊。我們選用了其中計算質心的模塊。將圖像輸入模塊,它便能輸出圖像質心的坐標。按照實驗設計思路,我們必須預先測量出圖像單位像素點的變化和實際物體移動距離的比例系數,因此選用了讀數顯微鏡。讀數顯微鏡能夠精確移動顯微鏡。物體不動,精確移動顯微鏡,可讀出顯微鏡的移動距離,同時計算出圖像變化的像素點數。將移動距離除以總的像素點數,得到單位像素點的變化與實際物體移動距離的比例系數。
實驗中物體的移動是通過牽引顯微鏡物鏡下的細絲而產生的,因此細絲位移就是物體的位移。為了獲得100um的位移,我們將物體放在一個螺旋測微器控制的光學平臺上。螺旋測微器總共50個小格,轉動一周移動為0.5mm,因此轉動一小格為10um。通過調節螺旋測微器,我們獲得100um的位移范圍。測量時,將采集到的數據實時保存到電腦中,再通過畫圖軟件顯示。圖5是測量的實驗結果。圖中的橫坐標表示測量的時間,縱坐標表示測量的位移,平直部分是移動螺旋測微器時的停留時間。由于是手旋動螺旋測微器,因此移動的快慢不一致導致出現階梯狀的停頓。

圖5實驗結果顯示,物體移動范圍為
3 實驗誤差分析和改進方法討論
測量系統中誤差主要來自兩個方面:一個是測量系統本身帶來的誤差,例如物體牽引細絲的運動不同步、實驗平臺的震動等;另一個重要的誤差來源于圖像單位像素點的變化和實際物體移動距離的比例系數,如果這個系數有較大的誤差,測量結果就不可靠。實驗中采用的方法是:細絲不動,精確移動顯微鏡,讀出顯微鏡的移動距離;計算出細絲圖像變化的像素點數,將移動距離除以總的像素點數,得到單位像素點的變化與實際物體移動距離的比例系數。我們將讀數顯微鏡精確移動 100um、150um、200um ,反復多次測量細絲質心像素點的變化點數,同時考慮回程誤差,計算出該系數平均值約為2um/像素。因此,測量系統的測量精度是2um。選用更高倍數的顯微鏡,能夠獲得更高的測量精度。
4 總結
本文詳細介紹了基于LabVIEW軟件和機器視覺平臺,利用USB攝像頭和讀數顯微鏡建立一個動態測量微小位移的系統。實驗過程中的圖像采集和數據處理都是通過LabVIEW軟件編程實現。通過利用周邊通用設備(計算機、讀數顯微鏡、USB攝像頭),使得該系統具有精度較高、制造簡單、技術要求低、操作方便和移植性強等特點。
本文創新點:將虛擬儀器技術應用到微小位移測量中,使用LabVIEW機器視覺平臺開發設計了基于USB攝像頭的微小位移動態測量系統。我們的實驗中,動態測量精度達到了2um。
文章版權歸西部工控xbgk所有,未經許可不得轉載。