[OpenR8 解決方案] Image_VideoCapture_OpenCV (使用 OpenCV 的 VideoCapture 擷取相機影像)

一、Image_VideoCapture_OpenCV 介紹

 

Image_VideoCapture_OpenCV 是使用 OpenCV的VideoCapture,將鏡頭當下所讀到的畫面擷取並顯示於視窗中。

Image_VideoCapture_OpenCV 的流程為下圖 1,如何操作、使用在本文件之第三章節會做說明。

 

圖 1. Image_VideoCapture_OpenCV的流程 .png

圖 1. Image_VideoCapture_OpenCV 的流程 。

 

※本文件之範例只截取視訊中的第一張影像,如果想連續擷取影像,需自行加上迴圈。

 

 

二、Image_VideoCapture_OpenCV 資料夾介紹

 

Image_VideoCapture_OpenCV 位於 OpenR8 的 solution 資料夾內,如圖 2,內有一個 OpenCV_VideoCapture.flow 檔案。

 

圖 2.Image_VideoCapture_OpenCV位置 .png

圖 2.Image_VideoCapture_OpenCV 位置 。

 

圖 3.Image_VideoCapture_OpenCV資料夾 .png

圖 3.Image_VideoCapture_OpenCV 資料夾 。

 

 

 

 

 

 

三、開啟與執行 OpenCV_VideoCapture.flow

 

在【OpenR8 資料夾】底下有一個【R8.exe】執行檔。如下圖 4。滑鼠點擊兩下即可執行 R8.exe。

 

圖 4.執行R8.exe .png

圖 4.執行 R8.exe 。

 

執行 R8.exe 後,第一次登入需輸入帳號密碼。如下圖 5。

Open Robot ID (Email) : 登入開源機器人俱樂部的帳號。

Password : 登入開源機器人俱樂部會員的密碼。

 

圖 5.登入開源機器人帳號 .png

圖 5.登入開源機器人帳號 。

 

請點選【File】=>【Language】=>【繁體中文】=>【確定】。如下圖 6

點選完,請重新啟動 R8.exe。即可顯示繁體中文介面。如下圖 7

 

圖 6.變更語言成為繁體中文介面 .png

圖 6.變更語言成為繁體中文介面 。

 

圖 7.繁體中文介面 .png

圖 7.繁體中文介面 。

 

請點選【檔案】=>【開啟】=>【進入到 OpenR8 底下的 solution 資料夾】=>【選擇 Image_VideoCapture_OpenCV 資料夾】=>【選擇 OpenCV_VideoCapture.flow 開啟】,如圖 8圖 9

 

圖 8.選擇OpenCV_VideoCapture.flow .png

圖 8.選擇 OpenCV_VideoCapture.flow 。

 

圖 9.開啟OpenCV_VideoCapture.flow .png

圖 9.開啟 OpenCV_VideoCapture.flow 。

 

開啟後,確認鏡頭的參數。

 

※只有一個視訊鏡頭的使用者不需更動,若有兩個以上且想使用其他加裝鏡頭的使用者,需自行設定裝置碼,其設定值為0:第一支,1:第二支……依此類推。

 

圖 10.執行解決方案 .png

圖 10.執行解決方案 。

 

確認完鏡頭的裝置碼,即可按下執行。

 

圖 11.執行解決方案 .png

圖 11.執行解決方案 。

 

執行 OpenCV_VideoCapture.flow 後,鏡頭會開啟,擷取一張影像,並將影像顯示在視窗中,按任意鍵或 X 關閉圖片。

 

圖 12.顯示擷取影像 .png

圖 12.顯示擷取影像 。

 

圖 13.按下任意鍵關閉DOS視窗 .png

圖 13.按下任意鍵關閉 DOS 視窗 。

 

 

四、OpenCV_VideoCapture.flow 流程

 

這個章節主要介紹 OpenCV_VideoCapture.flow 流程的函式內容。

 

圖 14. OpenCV_VideoCapture.flow的流程 .png

圖 14. OpenCV_VideoCapture.flow 的流程 。

 

  1. OpenCV_ 串流擷取_初始化:

OpenCV 前先初始化。

 

圖 15. OpenCV_VideoCapture.flow的OpenCV_串流擷取_初始化 .png

圖 15. OpenCV_VideoCapture.flow 的 OpenCV_ 串流擷取_初始化 。

 

  1. OpenCV_ 串流擷取_開啟:

串流擷取物件:選擇【OpenCV_ 串流擷取_初始化】一樣的物件。

裝置碼:可以指定要使用第幾隻相機,0為第一支,1為第二支……依此類推。

 

只有一個視訊鏡頭皆為0。若有加裝其他鏡頭,其值為0:第一支,1:第二支……依此類推。

 

圖 16. OpenCV_VideoCapture.flow的OpenCV_串流擷取_開啟 .png

圖 16. OpenCV_VideoCapture.flow 的 OpenCV_ 串流擷取_開啟 。

 

  1.  OpenCV_ 串流擷取_設置影像寬高:

​設定顯示鏡頭擷取影像的大小。

串流擷取物件:選擇【OpenCV_ 串流擷取_初始化】一樣的物件。

影像寬:設定擷取影像的寬度。

影像高:設定擷取影像的高度。

 

圖 17. OpenCV_VideoCapture.flow的OpenCV_串流擷取_設置影像寬高 .png

 圖17. OpenCV_VideoCapture.flow 的 OpenCV_ 串流擷取_設置影像寬高 。

 

  1. OpenCV_ 串流擷取_擷取:

​擷取拍到畫面。

 

圖 18. OpenCV_VideoCapture.flow的OpenCV_串流擷取_擷取 .png

圖 18. OpenCV_VideoCapture.flow 的 OpenCV_ 串流擷取_擷取 。

 

  1. OpenCV_ 串流擷取_取得:

取得上一點【OpenCV_ 串流擷取_擷取】的畫面影像。​

串流擷取物件:選擇【OpenCV_ 串流擷取_初始化】一樣的物件。

擷取影像:輸出取得的影像。

 

圖 19. OpenCV_VideoCapture.flow的OpenCV_串流擷取_取得 .png

圖 19. OpenCV_VideoCapture.flow 的 OpenCV_ 串流擷取_取得 。

 

  1. 影像_顯示:

將【OpenCV_ 串流擷取_取得】的畫面影像顯示在視窗中。

影像:選擇【OpenCV_ 串流擷取_取得】所輸出的影像。

縮放百分比:顯示的影像縮放比例,不填時預設為 100(=100%正常大小)。

視窗標題:顯示的視窗名稱。

 

圖 20. OpenCV_VideoCapture.flow的影像_顯示 .png

圖 20. OpenCV_VideoCapture.flow 的影像_顯示 。

 

圖 21. 視窗標題示意 .png

圖 21. 視窗標題示意。

 

  1. OpenCV_ 串流擷取_釋放:

最後結束使用相機(關閉相機)。

 

[image19388]

圖 22. OpenCV_VideoCapture.flow的OpenCV_ 串流擷取_釋放 。

 

  1. 等待:

在【影像_顯示】後一定要加【等待】才能看到影像,影像停留多少微秒設定。

鍵值:輸出的訊號。

微秒:想讓影像直到按下任意鍵才關閉時,請設0;想讓影像顯示1秒後關閉,請設1000;想設置n秒後關閉,請設1000 * n。

*1秒鐘 = 1000微秒。

 

圖 23. OpenCV_VideoCapture.flow的等待函式 .png

圖 23. OpenCV_VideoCapture.flow 的等待函式 。

 

  1. 影像_關閉所有視窗:

將所有【影像_顯示】所顯示的影像視窗關閉。

 

圖 24. OpenCV_VideoCapture.flow的影像_關閉所有視窗 .png

圖 24. OpenCV_VideoCapture.flow的 影像_關閉所有視窗 。

 


延伸閱讀

1.
OpenR8 - 人人都會用的 AI 軟體 (下載)

[CP 值最好的 AI 人工智慧電腦熱賣中]
硬體採用最新最快的 Titan RTX, RTX-2080Ti-11G, 及 TESLA V100!
視窗圖控介面,易學易用。
硬體優勢:針對深度學習最佳化設計,且經過客戶端 24H 運作驗證。
軟體優勢:事先安裝人工智慧軟體及優化設定,每週提供最新 AI 演算法下載。
公司優勢:專業人工智慧機器人設計公司,資本額一億。
歡迎企業、學校、及公家機關大量採購。
可租用,歡迎來信或來電洽詢。
詳細資料請參閱以下網址: https://tw.openrobot.club/ai_computer