馮思宇 赫連東宇 王培毅 趙澤宇
摘 要:由于本文針對(duì)電子類相關(guān)專業(yè)在學(xué)習(xí)基于LabVIEW機(jī)器視覺(jué)的過(guò)程中最基礎(chǔ)的圖像采集問(wèn)題提供非常快速的開(kāi)發(fā)方案與技巧,使之在LabVIEW機(jī)器視覺(jué)基礎(chǔ)階段學(xué)習(xí)少走彎路,為基礎(chǔ)階段的開(kāi)發(fā)者解決實(shí)際問(wèn)題,在以后學(xué)習(xí)LabVIEW高級(jí)圖像采集與處理中有一個(gè)良好的基礎(chǔ),大大提升學(xué)習(xí)效率。
關(guān)鍵詞:LabVIEW;機(jī)器視覺(jué);圖像采集
1 前言
雖然機(jī)器視覺(jué)理論與應(yīng)用在國(guó)外發(fā)展比較成熟,然而大部分系統(tǒng)都是基于Halcon、Visionpro、Opencv等軟件的機(jī)器視覺(jué),當(dāng)前國(guó)內(nèi)基于LabVIEW的機(jī)器視覺(jué)系統(tǒng)研究仍然處于發(fā)展階段。目前,LabVIEW軟件在發(fā)達(dá)國(guó)家已經(jīng)十分普及,例如在美國(guó)已經(jīng)將此軟件作為各大學(xué)理工科學(xué)生的一門必修課程。LabVIEW在國(guó)內(nèi)的發(fā)展處于逐漸上升期,其圖形化編程語(yǔ)言使編程過(guò)程變得簡(jiǎn)單直觀且易于掌握,LabVIEW虛擬儀器技術(shù)的應(yīng)用使實(shí)驗(yàn)平臺(tái)的搭建和操作界面的設(shè)置變得非常簡(jiǎn)單,它可以十分有效地提高工程師的工作效率,縮短科研項(xiàng)目的開(kāi)發(fā)時(shí)間,于是本文選擇了基于LabVIEW的圖像化編程語(yǔ)言開(kāi)發(fā)機(jī)器視覺(jué)系統(tǒng)。
2 軟件安裝基礎(chǔ)工作
在電腦上安裝LabVIEW以后,電腦中是沒(méi)有機(jī)器視覺(jué)開(kāi)發(fā)所需要驅(qū)動(dòng)程序與工具庫(kù)的,需要單獨(dú)安裝。第一,視覺(jué)開(kāi)發(fā)工具包(Vision Development Module)通常被稱為VDM,它包括一個(gè)視覺(jué)助手應(yīng)用軟件(Vision Assistant)和一個(gè)圖像處理VI庫(kù)(NI Vision)。第二,用于自動(dòng)檢測(cè)的視覺(jué)生成器(Vision Builder for Automated Inspection),通常被稱為VBAI,該程序是一個(gè)可以獨(dú)立運(yùn)行的程序。編程和操作界面與Vision Assistant相似,但是不可以把程序轉(zhuǎn)換為L(zhǎng)abVIEW,只能在其環(huán)境下運(yùn)行。VBAI程序可以在遠(yuǎn)程目標(biāo)設(shè)備如CVS上運(yùn)行。第三,視覺(jué)獲取軟件(Vision Acquisition Software),通常被稱為VAS,用于捕獲圖像的一系列驅(qū)動(dòng)程序。一般的視覺(jué)開(kāi)發(fā)需要安裝VDM與VAS,利用VAS驅(qū)動(dòng)和VDM的圖像處理VI庫(kù)實(shí)現(xiàn)圖像采集與處理。安裝后在圖像與運(yùn)動(dòng)的函數(shù)選板中顯示。
3 圖像采集
由于成本考慮,在基礎(chǔ)學(xué)習(xí)期間沒(méi)有必要購(gòu)買專業(yè)的圖像采集設(shè)備,驅(qū)動(dòng)相機(jī)采集圖像只能利用筆記本電腦上的簡(jiǎn)易攝像頭進(jìn)行代替,簡(jiǎn)易攝像頭與專業(yè)攝像頭在編程思想的上差別比較小,只是使用的LabVIEW的驅(qū)動(dòng)模塊上有些差別。
使用IMAQdx Open Camera VI打開(kāi)相機(jī),查詢相機(jī)的功能,加載相機(jī)配置文件,并創(chuàng)建一個(gè)獨(dú)特的參考相機(jī)。使用IMAQdx Session控件指定要打開(kāi)的相機(jī)的名稱并該名稱為相機(jī)引用。IMAQdx Configure Grab VI配置相機(jī)并啟動(dòng)抓取采集圖像。IMAQ Create VI為圖像創(chuàng)建臨時(shí)內(nèi)存位置。IMAQdx Grab2 VI獲取最新幀圖像。
4 圖像二值化
在圖像的處理中,最簡(jiǎn)單的就是圖像二值化處理,以閥值為界將圖像上像素點(diǎn)的灰度值置為0或255,也就是將圖像上的像素點(diǎn)變成純黑或者純白的像素點(diǎn)。
式中T為指定的閥值,g(x,y)為閥值化后點(diǎn)(x,y)處的像素的灰度值,f(x,y)為閥值化前在點(diǎn)(x,y)處的像素的灰度值,此式是階躍函數(shù),給出閥值T即可將圖像閥值化為黑白的二值圖。
將圖像轉(zhuǎn)換為數(shù)組,使用二值化子VI將數(shù)組與二值化閾值進(jìn)行比較,從而得到純黑與純白的圖像數(shù)組,再將數(shù)組轉(zhuǎn)換為圖像,從而完成了灰度圖像的二值化,二值化程序如圖1所示。
5 使用軟件自帶例子
LabVIEW自帶的范例寫的很好,開(kāi)發(fā)者可以利用軟件自帶范例為參照學(xué)習(xí),還可以根據(jù)范例來(lái)改進(jìn)成自己需要的程序。在LabVIEW界面菜單欄點(diǎn)擊“幫助”,在下拉菜單選擇“查找范例”,找到“工具包和模塊”→ “視覺(jué)”,然后根據(jù)自己需要打開(kāi)相應(yīng)視覺(jué)范例程序進(jìn)行學(xué)習(xí)。
在搜索界面可以直接搜索英文來(lái)查找視覺(jué)范例,例如搜索“Grab”,找到“Grab.VI”并打開(kāi),可以看到此例子的前面板,在“Camera Name”中選擇好電腦的攝像頭并運(yùn)行,“Image”界面就能顯示電腦攝像頭所采集的圖像。打開(kāi)程序框圖,可以對(duì)程序框圖內(nèi)的程序進(jìn)行研究,也可以對(duì)程序框圖內(nèi)的程序進(jìn)行擴(kuò)展或者修改。此案例就是本文第三部分圖像采集所用的經(jīng)典案例。同樣,搜索打開(kāi)其他的官方案例進(jìn)行學(xué)習(xí)。
參考文獻(xiàn)
[1]鄧小峰.基于機(jī)器視覺(jué)的零件識(shí)別和測(cè)量系統(tǒng)研究[D].南京航空航天大學(xué),2014.
[2]雷振山,肖成勇,魏麗,等.LabVIEW高級(jí)編程與虛擬儀器工程應(yīng)用[M].北京:中國(guó)鐵道出版社,2013.
[3]左昉,胡仁喜,閆聰聰.LabVIEW2013中文版虛擬儀器從入門到精通[M].北京:機(jī)械工業(yè)出版社,2014.