《基于LabVIEW 的機器視覺實現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《基于LabVIEW 的機器視覺實現(xiàn)(4頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于LabVIEW 的機器視覺實現(xiàn)裴忠發(fā),趙敬斌,羅志增(杭州電子工業(yè)學院 機器人研究所,浙江 杭州310037) 摘 要:介紹了從圖像獲取、圖像處理、圖像理解等幾個方面去實現(xiàn)具有視覺功能裝配機器人的方法。 關(guān)鍵詞:機器視覺;圖像處理;圖像理解1 引 言 機器視覺是指用計算機來模擬人的視覺功能的一門科學技術(shù),它的目標就是用圖像獲取來恢復(fù)現(xiàn)實世界的模型,然后認知現(xiàn)實世界。機器視覺是一個相當新穎而且發(fā)展十分迅速的研究領(lǐng)域。自從20世紀50年代就著眼于研究統(tǒng)計模式識別繼而開始機器視覺的探討建立了不少機器視覺理論,如馬爾(Marr)計算理論、正則化理論等,大大地推動了機器視覺研究的發(fā)展。目前,機器視覺
2、廣泛地應(yīng)用于工業(yè)檢測,醫(yī)學、遙感圖像處理,鑒別、監(jiān)視系統(tǒng)等方面。 通過對機器視覺的研究,自行編寫識別軟件和引用美國NI公司的應(yīng)用軟件LabVIEW相結(jié)合的辦法進行機器視覺的開發(fā),實現(xiàn)裝配機器人的視覺功能。2LabVIEW簡介 LabVIEW是基于程序代碼的一種圖形化編程語言。其提供了大量的圖像預(yù)處理、圖像分割、圖像理解函數(shù)庫和開發(fā)工具,用戶只要在流程圖中用圖標連接器將所需要的子VI(Virtual Instruments,LabVIEW開發(fā)程序)連接起來就可以完成目標任務(wù)。任何1個VI都有3部分組成:可交互的用戶界面、流程圖和圖標連接器。LabVIEW編程簡單,而且對工件的正確識別率很高。3圖
3、像獲取3.1硬件組成 (1) 彩色CCD攝像機。由光學鏡頭和圖像傳感器及相關(guān)電路組成,豎直安放在裝配機器人的正上方。 (2) 圖像采集卡。完成對攝像頭中的圖像信號的A/D轉(zhuǎn)換,插在PC機的插槽上,CCD器件和圖像采集卡通過視頻信號線連接起來。 (3) PC機。通過CCD攝像頭和圖像采集卡獲得的圖像在PC機上顯示,通過LabView編寫的程序?qū)崿F(xiàn)對不同工件的識別。其結(jié)構(gòu),如圖1所示。3.2軟件實現(xiàn) VFW(Video for Windows)是微軟公司推出的基于Windows的視頻開發(fā)平臺,提出了AVI文件標準,為用戶提供了一套應(yīng)用程序接口函數(shù)(API),通過VC+這個開發(fā)工具就可以開發(fā)視頻采集
4、播放程序。 (1) 調(diào)用capCreateCaptureWindow函數(shù)創(chuàng)建一個采集窗口,所有的采集操作和設(shè)置都以該窗口為基礎(chǔ),其形式為:其中,參數(shù)nID代表窗口號。 (2) 調(diào)用CapDriverConnect函數(shù)將視頻采集卡的驅(qū)動程序和采集窗口連接起來,其形式為: capDriverConnect(hwndC,nIndex)其中,參數(shù)hwndC為窗口句柄,nIndex為驅(qū)動程序的索引號。 (3) 調(diào)用FrameCallbackProc函數(shù)在內(nèi)存進行圖像數(shù)據(jù)的采集,其形式為: FrameCallbackProc(HWND hwnd, LPVIDEOHDR lpVHdr) (4) 調(diào)用capF
5、ileSaveDIB函數(shù)將采集到的圖像存到硬盤,其形式為: capFileSaveDIB(hwndC,“C:xxxx.bmp ) 至此,外界環(huán)境就被計算機所獲取存于硬盤的某一目錄下以供計算機做進一步的處理分析。4 圖像處理 通過攝像頭獲取的圖像由于受到外界環(huán)境的影響,因此,對圖像進行預(yù)處理非常重要,其目的就是要恢復(fù)周圍環(huán)境的真實圖像。其主要方法有平滑、銳化、增強、邊緣檢測等。 (1) 平滑。主要是為了減少噪聲,在時域內(nèi)一般用鄰域平均的辦法,即對圖像中的每個像素點取鄰域S,計算所有S中的像素中顏色平均值作為處理后的圖像的該點的像素值。算式為:式中M像素點的數(shù)目 S(x,y)點的頻域 在頻域主要用
6、低通濾波器處理。 (2) 銳化。其目的是為了使邊緣和輪廓模糊的圖像變得清晰,它是平均的逆處理,即微分處理,即: 對于數(shù)字圖像,可改寫如下: 在頻域主要用高通濾波器處理。 (3) 增強。是將圖像中感興趣的特征有選擇的突出,而不必逼近原圖像,在時域內(nèi)主要方法為直方圖均衡。若一幅數(shù)字圖像灰度等級為M,各像素灰度值為rk(k=0,1,2,3,M-1),灰度值的概率估計Pr(k)為: Pr(k)=nk/n (k=0,1,2,M-1) (4)式中nk灰度值為的像素點數(shù) n像素點總數(shù) 直方圖均衡就要使它線性化,使含有像素多的幾個灰度級間隔被拉大,壓縮像素少的幾個灰度級,從而增大視覺接受的信息量。 (4) 邊
7、緣檢測。邊緣是圖像灰度變化比較劇烈的地方,在灰度變化大的地方進行微分將產(chǎn)生高值,此處便是邊緣,在數(shù)字圖像中用差分代替微分運算。常見的有拉普拉斯運算:5 圖像理解與識別 圖像理解就是要對圖像特征作出描述或解釋,它包括兩個主要過程:圖像分割或圖像分類。利用閾值分割,實現(xiàn)從圖像中分割出各目標物體,然后提取它們的特征參數(shù)進行特征模板匹配。常見的特征參數(shù)有面積、形狀、矩不變量等。面積A的數(shù)學表達式為:式中k每個像素的面積 n像素總數(shù)目 形狀因子S的可表示為: S=l2/A式中l(wèi)物體周長 區(qū)域的(p+q)階中心矩定義為: 工業(yè)機器人正確識別了工件之后,必須確定工件的實際的具體的位置從而進行正確的抓取。為此
8、,必須建立機器人本身各連桿之間的運動學關(guān)系。以機器人的機座為參考坐標系,建立機器人的運動學方程,其通式為然后對其求逆,解出機器人各關(guān)節(jié)相對與參考坐標系的位置。以此參數(shù)控制各關(guān)節(jié)電機的運行,實現(xiàn)對工件的準確抓取。6LabView程序?qū)崿F(xiàn) 基于以上算法,LabView的庫函數(shù)相應(yīng)地提供了子VI,如:顏色匹配子VI、形狀匹配子VI、邊緣檢測子VI、圖像銳化子VI、圖像增強子VI、物體形心坐標子VI等等,用戶只要用導(dǎo)線將必要的其他子VI連接起來,就可以完成對獲得圖像的預(yù)處理、理解,從而實現(xiàn)機器人的視覺。7結(jié)束語 通過將美國NI公司的圖像處理軟件LabVIEW進行機器視覺的開發(fā),實現(xiàn)了裝配機器人準確無誤地識別不同顏色、不同形狀的工件。參考文獻1夏良正.數(shù)字圖像處理M.南京:東南大學出版社,1999.2 何發(fā)昌,邵 遠.多功能機器人的原理及應(yīng)用M.北京:高等教育出版社,1996.3 賈云得.機器視覺M.北京:科學出版社,2000.