前言
今天我們一起來使用LabVIEW AI視覺工具包快速實現(xiàn)圖像的讀取與顏色空間轉(zhuǎn)換、從攝像頭采集圖像。工具包的安裝與下載方法可見之前的兩篇博客。
一、工具包位置
已經(jīng)安裝好的工具包位于程序框圖-函數(shù)選板-Addons-VIRobotics-opencv_yiku,內(nèi)容包括:Mat類型(矩陣)的操作、攝像頭采集、圖片文件讀寫、基本算子、視頻生成、神經(jīng)網(wǎng)絡(luò)調(diào)用等功能。
二、圖像采集與色彩空間轉(zhuǎn)換
1.文件讀寫
(1)程序框圖面板右鍵:File I/O,拖出拆分路徑和拼接路徑函數(shù)到程序框圖面板待用;
(2)程序框圖面板右鍵:File I/O -->File Constants,拖出當(dāng)前路徑函數(shù)到程序框圖面板待用;
2.實現(xiàn)圖片讀取
(1)在程序框圖面板空白處右鍵-->在函數(shù)選板-->Addons-->VIRobotics-->opencv_yiku-imgcodes中找到要使用的imread函數(shù),拖出;
(2)imread函數(shù)讀取指定路徑的圖片(jpg/png/bmp格式),返回Mat對象,具體輸入輸出如下所示:
(3)程序框圖面板右鍵:Application Control-->Property Node,將屬性節(jié)點拖出,用來獲取Mat對象中的各種參數(shù)(本例中是圖片),并放到圖片控件中;
(4)釋放Mat資源;
(5)按照下圖所示連接,將待讀取的圖片與此vi置于同一路徑下并運行;
(6)讀取圖片如下圖所示(左側(cè)為原圖,右側(cè)為讀取出來的圖片),我們發(fā)現(xiàn)讀取的圖片顏色和原圖不一樣;
3.使用算子cvtColor實現(xiàn)顏色空間轉(zhuǎn)換
(1)因為LabVIEW中的圖像排列順序是RGB,opencv中的圖像排列順序是BGR,所以讀取出來的圖片顏色和原圖不一樣;
(2)使用算子cvtColor進(jìn)行顏色空間轉(zhuǎn)換,程序框圖面板右鍵: Addons-->VIRobotics-->opencv_yiku-->imgproc: cvtColor ,拖出;
(3)算子cvtColor的輸入與輸出如下圖所示:
(4) LabVIEW中算子(cvtColor)的使用方式一 :輸入的dst端不接輸入,運行函數(shù)后輸出的圖片會替換掉原來的圖片(src out和dst out的值一致),程序及結(jié)果如下圖所示:
(5) LabVIEW中算子(cvtColor)的使用方式二 :輸入的dst端接一個Create_Mat,即新建一個mat對象,運行函數(shù)后,dst的內(nèi)容不會影響src的內(nèi)容;程序及結(jié)果如下圖所示:
三、從攝像頭采集圖像
1.Camera類
(1)新建一個vi,在程序框圖面板右鍵:Addons-->VIRobotics --> opencv_yiku: Camera。找到攝像頭初始化函數(shù)new_Cap,函數(shù)右上角輸出Cap,是使用攝像頭前的必備動作,將其拖至面板空白處備用;
(2)在程序框圖面板右鍵:Addons-->VIRobotics --> opencv_yiku: Camera。找到startCaptura,將其拖至面板空白處,使用該函數(shù)若只填寫camerID時,請保障攝像頭正常。只要連接有preference,則有多個本地攝像頭時,優(yōu)先使用分配到該ID的攝像頭,若該攝像頭不存在,則使用其它攝像頭。
(3)在程序框圖面板右鍵:Addons-->VIRobotics --> opencv_yiku: Camera。找到獲取圖像函數(shù)readImage,接在打開攝像頭之后,用以獲取攝像頭拍攝的圖像。 Mat輸出圖像(矩陣);
(4)在程序框圖面板右鍵:Addons-->VIRobotics --> opencv_yiku: Camera。找到停止拍攝函數(shù)stopCapture,接到程序最后,釋放攝像頭資源,若不操作,可能會造成下一次使用不便。
2.屬性節(jié)點
(1)程序框圖面板右鍵:Application Control : Property Node,拖出,接至startCaptura之后
(2)根據(jù)攝像頭實際支持的分辨率設(shè)置寬高。屬性的箭頭在右側(cè)表示讀取,只需右鍵選擇Change To Write即可修改為寫入。
3.實現(xiàn)攝像頭采集圖像
整體程序如下,使用循環(huán)采集圖像,點擊stop按鈕,循環(huán)結(jié)束,整個程序結(jié)束并釋放資源。
四、源碼下載
鏈接:https://pan.baidu.com/s/1TEihgoG5bIFz1SRCIab-mQ
提取碼:8888
總結(jié)
更多關(guān)于LabVIEW與人工智能技術(shù),可添加技術(shù)交流群進(jìn)一步探討。
審核編輯 黃宇
-
LabVIEW
+關(guān)注
關(guān)注
1976文章
3657瀏覽量
324809 -
人工智能
+關(guān)注
關(guān)注
1793文章
47588瀏覽量
239465
發(fā)布評論請先 登錄
相關(guān)推薦
評論