手把手教你使用LabVIEW人工智慧視覺工具包快速實現影像讀取與採集(含源碼)

前言

今天我們一起來使用LabVIEW AI視覺工具包快速實現影像的讀取與顏色空間轉換、從攝影機採集影像。工具包的安裝與下載方法可見之前的兩篇隨筆。

一、工具包位置

已經安裝好的工具包位於程式框圖-函數選板-Addons-VIRobotics-opencv_yiku,內容包括:Mat類型(矩陣)的操作、攝影機採集、圖片文件讀寫、基本運算元、影片生成、神經網路調用等功能。
工具包內容

二、影像採集與色彩空間轉換

1.文件讀寫

(1)程式框圖面板右鍵:File I/O,拖出拆分路徑和拼接路徑函數到程式框圖面板待用;
在這裡插入圖片描述

(2)程式框圖面板右鍵:File I/O –>File Constants,拖出當前路徑函數到程式框圖面板待用;
在這裡插入圖片描述

2.實現圖片讀取

(1)在程式框圖面板空白處右鍵–>在函數選板–>Addons–>VIRobotics–>opencv_yiku-imgcodes中找到要使用的imread函數,拖出;
在這裡插入圖片描述
(2)imread函數讀取指定路徑的圖片(jpg/png/bmp格式),返回Mat對象,具體輸入輸出如下所示:
在這裡插入圖片描述
(3)程式框圖面板右鍵:Application Control–>Property Node,將屬性節點拖出,用來獲取Mat對象中的各種參數(本例中是圖片),並放到圖片控制項中;
在這裡插入圖片描述
(4)釋放Mat資源;
在這裡插入圖片描述
(5)按照下圖所示連接,將待讀取的圖片與此vi置於同一路徑下並運行;
在這裡插入圖片描述
(6)讀取圖片如下圖所示(左側為原圖,右側為讀取出來的圖片),我們發現讀取的圖片顏色和原圖不一樣;
在這裡插入圖片描述

3.使用運算元cvtColor實現顏色空間轉換

(1)因為LabVIEW中的影像排列順序是RGB,opencv中的影像排列順序是BGR,所以讀取出來的圖片顏色和原圖不一樣;
(2)使用運算元cvtColor進行顏色空間轉換,程式框圖面板右鍵: Addons–>VIRobotics–>opencv_yiku–>imgproc: cvtColor ,拖出;
在這裡插入圖片描述
(3)運算元cvtColor的輸入與輸出如下圖所示:

在這裡插入圖片描述
(4)LabVIEW中運算元(cvtColor)的使用方式一:輸入的dst端不接輸入,運行函數後輸出的圖片會替換掉原來的圖片(src out和dst out的值一致),程式及結果如下圖所示:
在這裡插入圖片描述
在這裡插入圖片描述

(5)LabVIEW中運算元(cvtColor)的使用方式二:輸入的dst端接一個Create_Mat,即新建一個mat對象,運行函數後,dst的內容不會影響src的內容;程式及結果如下圖所示:
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

三、從攝影機採集影像

1.Camera類

(1)新建一個vi,在程式框圖面板右鍵:Addons–>VIRobotics –> opencv_yiku: Camera。找到攝影機初始化函數new_Cap,函數右上角輸出Cap,是使用攝影機前的必備動作,將其拖至面板空白處備用;
在這裡插入圖片描述

(2)在程式框圖面板右鍵:Addons–>VIRobotics –> opencv_yiku: Camera。找到startCaptura,將其拖至面板空白處,使用該函數若只填寫camerID時,請保障攝影機正常。只要連接有preference,則有多個本地攝影機時,優先使用分配到該ID的攝影機,若該攝影機不存在,則使用其它攝影機。
在這裡插入圖片描述

(3)在程式框圖面板右鍵:Addons–>VIRobotics –> opencv_yiku: Camera。找到獲取影像函數readImage,接在打開攝影機之後,用以獲取攝影機拍攝的影像。 Mat輸出影像(矩陣);
在這裡插入圖片描述

(4)在程式框圖面板右鍵:Addons–>VIRobotics –> opencv_yiku: Camera。找到停止拍攝函數stopCapture,接到程式最後,釋放攝影機資源,若不操作,可能會造成下一次使用不便。
在這裡插入圖片描述

2.屬性節點

(1)程式框圖面板右鍵:Application Control : Property Node,拖出,接至startCaptura之後
在這裡插入圖片描述
(2)根據攝影機實際支援的解析度設置寬高。屬性的箭頭在右側表示讀取,只需右鍵選擇Change To Write即可修改為寫入。
在這裡插入圖片描述

3.實現攝影機採集影像

整體程式如下,使用循環採集影像,點擊stop按鈕,循環結束,整個程式結束並釋放資源。
在這裡插入圖片描述

四、源碼下載

鏈接://pan.baidu.com/s/1TEihgoG5bIFz1SRCIab-mQ
提取碼:8888

總結

更多關於LabVIEW與人工智慧技術,可添加技術交流群進一步探討。
qq群號:705637299,請備註暗號:LabVIEW 機器學習