前言
今天我們一起來使用LabVIEW AI視覺工具包快速實現(xiàn)圖像的讀取與顏色空間轉換、從攝像頭采集圖像。工具包的安裝與下載方法可見之前的兩篇博客。
一、工具包位置
已經(jīng)安裝好的工具包位于程序框圖-函數(shù)選板-Addons-VIRobotics-opencv_yiku,內(nèi)容包括:Mat類型(矩陣)的操作、攝像頭采集、圖片文件讀寫、基本算子、視頻生成、神經(jīng)網(wǎng)絡調(diào)用等功能。
二、圖像采集與色彩空間轉換
1.文件讀寫
(1)程序框圖面板右鍵:File I/O,拖出拆分路徑和拼接路徑函數(shù)到程序框圖面板待用;
(2)程序框圖面板右鍵:File I/O -->File Constants,拖出當前路徑函數(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)讀取圖片如下圖所示(左側為原圖,右側為讀取出來的圖片),我們發(fā)現(xiàn)讀取的圖片顏色和原圖不一樣;
3.使用算子cvtColor實現(xiàn)顏色空間轉換
(1)因為LabVIEW中的圖像排列順序是RGB,opencv中的圖像排列順序是BGR,所以讀取出來的圖片顏色和原圖不一樣;
(2)使用算子cvtColor進行顏色空間轉換,程序框圖面板右鍵: Addons-->VIRobotics-->opencv_yiku-->imgproc: cvtColor ,拖出;
(3)算子cvtColor的輸入與輸出如下圖所示:
(4) LabVIEW中算子(cvtColor)的使用方式一 :輸入的dst端不接輸入,運行函數(shù)后輸出的圖片會替換掉原來的圖片(src out和dst out的值一致),程序及結果如下圖所示:
(5) LabVIEW中算子(cvtColor)的使用方式二 :輸入的dst端接一個Create_Mat,即新建一個mat對象,運行函數(shù)后,dst的內(nèi)容不會影響src的內(nèi)容;程序及結果如下圖所示:
三、從攝像頭采集圖像
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ù)攝像頭實際支持的分辨率設置寬高。屬性的箭頭在右側表示讀取,只需右鍵選擇Change To Write即可修改為寫入。
3.實現(xiàn)攝像頭采集圖像
整體程序如下,使用循環(huán)采集圖像,點擊stop按鈕,循環(huán)結束,整個程序結束并釋放資源。
四、源碼下載
鏈接:https://pan.baidu.com/s/1TEihgoG5bIFz1SRCIab-mQ
提取碼:8888
總結
更多關于LabVIEW與人工智能技術,可添加技術交流群進一步探討。
審核編輯 黃宇
-
LabVIEW
+關注
關注
1977文章
3657瀏覽量
325629 -
人工智能
+關注
關注
1796文章
47666瀏覽量
240286
發(fā)布評論請先 登錄
相關推薦
《手把手教你做星閃無人機》即將開播,鎖定15日晚七點!
![《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星閃無人機》即將開播,鎖定15日晚七點!](https://file.elecfans.com/web2/M00/35/6C/poYBAGIq5qqAQJzlAAA5OpNWiJA439.png)
《手把手教你做PC》課程即將啟動!深開鴻引領探索KaihongOS筆記本電腦開發(fā)實戰(zhàn)
![《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC》課程即將啟動!深開鴻引領探索KaihongOS筆記本電腦開發(fā)實戰(zhàn)](https://file.elecfans.com/web2/M00/35/6C/poYBAGIq5qqAQJzlAAA5OpNWiJA439.png)
Air780E模組LuatOS開發(fā)實戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包
![Air780E模組LuatOS開發(fā)實戰(zhàn) —— <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>搞定數(shù)據(jù)打包解包](https://file1.elecfans.com/web3/M00/00/C9/wKgZPGdNvJuAXpOwAAWs3wSNnN0725.png)
嵌入式和人工智能究竟是什么關系?
手把手教你使用LabVIEW TensorRT實現(xiàn)圖像分類實戰(zhàn)(含源碼)
![<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>使用<b class='flag-5'>LabVIEW</b> TensorRT<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>圖像</b>分類實戰(zhàn)(含源碼)](https://file1.elecfans.com//web2/M00/90/B7/wKgZomTca--AB8LMAACbpJXkM8w947.png)
risc-v在人工智能圖像處理應用前景分析
手把手教你通過宏集物聯(lián)網(wǎng)工控屏&網(wǎng)關進行協(xié)議轉換,將底層PLC/傳感器的數(shù)據(jù)轉換為TCP協(xié)議并傳輸?shù)接脩?/a>
![<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通過宏集物聯(lián)網(wǎng)工控屏&網(wǎng)關進行協(xié)議轉換,將底層PLC/傳感器的數(shù)據(jù)轉換為TCP協(xié)議并傳輸?shù)接脩? /> </a>
</div> <div id=](https://file1.elecfans.com//web2/M00/02/B6/wKgZoma9kj-AOb0tAACF0naSlO875.webp)
FPGA在人工智能中的應用有哪些?
機器視覺和人工智能的關系與應用
手把手教你在orcad中設置CIS元器件數(shù)據(jù)庫,提高工作效率
![<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>在orcad中設置CIS元器件數(shù)據(jù)庫,提高工作效率](https://file1.elecfans.com/web2/M00/EF/41/wKgaomZtXqqAWjPlAAAkd2w7Prs432.png)
手把手教你排序算法怎么寫
![<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>排序算法怎么寫](https://file.elecfans.com/web2/M00/9B/3D/poYBAGQjnauAVXOgAABFcEbXdEE684.png)
手把手帶你移植HAL庫函數(shù)
![<b class='flag-5'>手把手</b>帶你移植HAL庫函數(shù)](https://file.elecfans.com/web2/M00/9B/3D/poYBAGQjnauAVXOgAABFcEbXdEE684.png)
評論