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