開源GenICam專案上手-1

FPGA發表於2022-02-21

GenICam 說明

一個統一的程式設計規則,這樣我們只需要一個應用軟體,就可以支援符合標準的不同型號相機,當我們升級相機、更換相機時,不需要編寫不同的軟體程式碼。

 

 

 

The goal of GenICamTM (Generic Interface for Cameras) is to provide a generic programming interface for all kinds of devices (mainly cameras), no matter what interface technology (GigE Vision, USB3 Vision, CoaXPress, Camera Link HS, Camera Link etc.) they are using or what features they are implementing. The result is that the application programming interface (API) will be identical regardless of interface technology.

 

Aravis 專案

Aravis是一個基於C/OBJECT C的視訊採集、處理開源專案

Aravis is a glib/gobject based library for video acquisition using Genicam cameras. It currently implements the gigabit ethernet and USB3 protocols used by industrial cameras. It also provides a basic ethernet camera simulator and a simple video viewer.

https://github.com/AravisProject/aravis 這個是GitHub的倉庫地址,裡面會有更詳細的說明;

編譯Aravis

 Step 1: 安裝msys2

感謝清華的開源映象,按照下面網址的說明,下載msys2-x86_64-20220128.exe ,並對映象地址進行設定,如果有更新版本,也可以選擇最新版本;

https://mirrors.tuna.tsinghua.edu.cn/help/msys2/

 Step 2: 安裝依賴的庫檔案

根據倉庫CI指令碼的說明,安裝必要的庫

https://github.com/AravisProject/aravis/blob/main/.github/workflows/aravis-mingw.yml

 Step 3:編譯 

使用meson完成編譯、安裝,安裝後的exe預設放在 C:\msys64\mingw64\bin 目錄,可以雙擊 arv-viewer-0.8.exe 執行exe

https://aravisproject.github.io/aravis/building.html

 Step 4: 開啟程式測試

預設會連線一下虛擬的相機裝置用於測試

下面是執行結果與狀態監測頁面

 

 

這個專案簡直不要太優秀,我們計劃從該開源專案學習其GenICam的實現方法、參考甚至複用其介面程式設計,值得注意Aravis的介面與Basler的pylon viewer是比較類似的,都是很友好,值得學習的介面設計。