[OpenR8 解決方案] Image_Basler (Basler 相機範例)

一、Image_Basler 介紹

 

Image_Basler 內含三個檔案,分別示範調整 Basler ace 系列相機之曝光、Gain 以及擷取影像的三個解決方案。

調整相機之曝光於第三、六章作介紹。

調整相機之 Gain 值於第四、七章作介紹。

擷取相機影像於第五、八章作介紹。

※這個解決方案目前只支援 Basler ace 系列之相機 (USB 接口),其餘目前暫不支援。

 

 

二、Image_Basler資料夾介紹

 

Image_Basler 位於 OpenR8 的 solution 資料夾內,如圖 1,內有三個 flow 檔案,如圖 2

 

  1. GrabImage.flow:擷取相機所拍攝之影像。
  2. SetExposure.flow:設定相機曝光時間。
  3. SetGain.flow:設定相機 Gain 值。

 

圖 1.Image_Basler 位置 .png

圖 1.Image_Basler 位置 。

 

圖 2.Image_Basler 資料夾 .png

圖 2.Image_Basler 資料夾 。

 

 

三、開啟與執行 SetExposure.flow 調整曝光時間

 

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

 

圖 3.執行 R8.exe .png

圖 3.執行 R8.exe 。

 

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

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

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

 

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

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

 

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

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

 

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

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

 

圖 6.繁體中文介面 .png

圖 6.繁體中文介面 。

 

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

 

圖 7.選擇 SetExposure.flow .png

圖 7.選擇 SetExposure.flow 。

 

圖 8.開啟 SetExposure.flow .png

圖 8.開啟 SetExposure.flow 。

 

開啟後,在【Basler_SetExposureTime】設定曝光的時間。

※如果只是想看執行的結果可以不用設定。

※如果想看如何設定請看第五章之第一點。

 

圖9. 設定曝光 .png

圖9. 設定曝光。

 

設定完曝光時間,即可按下執行。 

 

圖 10.執行 SetExposure.flow 解決方案 .png

圖 10.執行 SetExposure.flow 解決方案。

 

 

 

 

 

四、開啟與執行 SetGain.flow 設定 Gain 值

 

請點選【檔案】=>【開啟】=>【進入到 OpenR8 底下的 solution 資料夾】=>【選擇 Image_Basler 資料夾】=>【選擇 SetGain.flow 開啟】,如圖 11圖 12

 

圖 11.選擇 SetGain.flow .png

圖 11.選擇 SetGain.flow 。

 

圖 12.開啟 SetGain.flow .png

圖 12.開啟 SetGain.flow。

 

開啟後,在【Basler_SetGain】設定 Gain 值。

※如果只是想看執行的結果可以不用設定。

※如果想看如何設定請看第七章之第一點。

 

圖13. 設定 Gain 值 .png

圖13. 設定 Gain 值。

 

設定完 Gain 值,即可按下執行。

 

圖 14.執行 SetGain.flow 解決方案 .png 

圖 14.執行 SetGain.flow 解決方案

 

 

五、開啟與執行 GrabImage.flow 取得相機影像

 

請點選【檔案】=>【開啟】=>【進入到OpenR8底下的solution 資料夾】=>【選擇Image_Basler資料夾】=>【選擇GrabImage.flow開啟】,如圖 15圖 16

 

圖15. 選擇 GrabImage.flow.png

圖15. 選擇 GrabImage.flow。

 

圖 16.開啟 GrabImage.flow .png

圖 16.開啟 GrabImage.flow 。

 

按下執行。

 

圖17. 執行 GrabImage.flow 解決方案.png

圖17. 執行 GrabImage.flow 解決方案。

 

會顯示擷取到的畫面,如圖。

 

圖18. 執行 GrabImage.flow 解決方案.png

圖18. 執行 GrabImage.flow 解決方案。

 

※如果畫面是黑的,可能需要調整 Gain 值或曝光。

 

 

六、SetExposure.flow 流程

 

這個章節主要介紹 SetExposure.flow 流程的函式內容,此解決方案可以設定 Basler 工業相機的曝光時間。

 

圖 19. SetExposure.flow 的流程 .png

圖 19. SetExposure.flow 的流程 。

 

  1. Basler_Init:

Basler 初始化參數。

 

圖 20. SetExposure.flow 的 Basler_Init .png

圖 20. SetExposure.flow 的 Basler_Init 。

 

  1. Basler_Open:

開啟 Basler 工業相機。

baslerObject:選擇【Basler_Init】同一物件。

cameraNum:相機參數,用來指定第幾隻相機。

 

圖 21. SetExposure.flow 的 Basler_Open .png

圖 21. SetExposure.flow 的 Basler_Open 。

 

  1. Basler_SetExposureTime:

設定 Basler 工業相機的曝光時間。

baslerObject:選擇【Basler_Init】同一物件。

exposureTime:曝光多久。

 

圖 22. SetExposure.flow 的 Basler_SetExposureTime .png

圖 22. SetExposure.flow 的 Basler_SetExposureTime 。

 

  1. Basler_Release:

將 Basler 工業相機關閉。

baslerObject:選擇【Basler_Init】同一物件。

 

圖 23. SetExposure.flow 的 Basler_Release .png

圖 23. SetExposure.flow 的 Basler_Release 。

 

 

七、SetGain.flow 流程

 

這個章節主要介紹 SetGain.flow 流程的函式內容,此解決方案可以設定 Basler 工業相機的 Gain 值。

 

圖 24. SetGain.flow 的流程 .png

圖 24. SetGain.flow 的流程 。

 

  1. Basler_Init:

Basler 初始化參數。

 

圖 25. SetGain.flow 的 Basler_Init .png

圖 25. SetGain.flow 的 Basler_Init 。

 

  1. Basler_Open:

開啟 Basler 工業相機。

baslerObject:選擇【Basler_Init】同一物件。

cameraNum:相機參數,用來指定第幾隻相機。

 

圖 26. SetGain.flow 的 Basler_Open .png

圖 26. SetGain.flow 的 Basler_Open 。

 

  1. Basler_SetGain:

設定 Basler 工業相機的 Gain 值。

baslerObject:選擇【Basler_Init】同一物件。

gain:相機參數,用來設定 Gain 值。

 

圖 27. SetGain.flow 的 Basler_SetGain .png

圖 27. SetGain.flow 的 Basler_SetGain 。

 

  1. Basler_Release:

將 Basler 工業相機關閉。

baslerObject:選擇【Basler_Init】同一物件。

 

圖 28. SetGain.flow 的 Basler_Release .png

圖 28. SetGain.flow 的 Basler_Release 。

 

 

八、GrabImage.flow 流程

 

這個章節主要介紹 GrabImage.flow 流程的函式內容,此解決方案可以取得 Basler 工業相機的影像。

 

圖 29. GrabImage.flow 的流程 .png

圖 29. GrabImage.flow 的流程 。

 

  1. Basler_Init:

Basler 初始化參數。

 

圖 30. GrabImage.flow 的 Basler_Init .png

圖 30. GrabImage.flow 的 Basler_Init 。

 

  1. Basler_Open:

開啟 Basler 工業相機。

baslerObject:選擇【Basler_Init】同一物件。

cameraNum:相機參數,用來指定第幾隻相機。

 

圖 31. GrabImage.flow 的 Basler_Open .png

圖 31. GrabImage.flow 的 Basler_Open 。

 

  1. Basler_Grab:

擷取 Basler 工業相機當下拍到的畫面。

baslerObject:選擇【Basler_Init】同一物件。

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

 

圖 32. GrabImage.flow 的 Basler_Grab .png

圖 32. GrabImage.flow 的 Basler_Grab 。

 

  1. 影像_縮放:

將【Basler_Grab】所擷取的影像縮小至指定大小。

影像:選擇【Basler_Grab】所輸出的影像。

寬:顯示的影像的寬度。

高:顯示的影像的高度。

影像縮放:輸出調整寬與高之後的影像。

 

圖 33. GrabImage.flow 的影像_縮放 .png

圖 33. GrabImage.flow 的影像_縮放 。

 

  1. 影像_顯示:

將【影像_縮放】所調整大小的影像顯示在視窗中。

影像:選擇【影像_縮放】所輸出的影像。

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

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

 

圖 34. GrabImage.flow 的影像_顯示 .png

圖 34. GrabImage.flow 的影像_顯示 。

 

  1. Basler_Release:

將 Basler 工業相機關閉。

baslerObject:選擇【Basler_Init】同一物件。

 

圖 35. GrabImage.flow 的 Basler_Release .png

圖 35. GrabImage.flow 的 Basler_Release 。

 

  1. 等待:

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

鍵值:輸出的訊號。

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

※1 秒鐘  =  1000 微秒。

 

圖 36. GrabImage.flow 的等待函式 .png

圖 36. GrabImage.flow 的等待函式 。

 

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

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

 

圖 37. GrabImage.flow 的影像_關閉所有視窗 .png

圖 37. GrabImage.flow 的影像_關閉所有視窗 。


延伸閱讀

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

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