C++
説明
C++ SDKは、操作を簡単にするために以下の3つのオープンソースライブラリを使用しています。
-
HTTP/HTTPSライブラリ https://github.com/yhirose/cpp-httplib HTTPリクエストを送信するために使用
-
JSON for Modern C++ https://github.com/nlohmann/json JSON文字列を解析するために使用
-
PNGエンコーダおよびデコーダ https://github.com/lvandeve/lodepng 画像データの保存に使用
インターフェース定義
struct EpicEyeInfo {
std::string SN; // シリアル番号
std::string IP; // カメラIPアドレス
std::string model; // カメラモデル
std::string alias; // カメラのエイリアス、Web UIで変更可能
uint32_t width = 0; // 画像の幅
uint32_t height = 0; // 画像の高さ
};
関数名 | 機能説明 | パラメータと戻り値 |
---|---|---|
|
SDKバージョンを取得 |
戻り値: SDKバージョン番号(std::string型) |
|
カメラ情報を取得 |
パラメータ: ip: カメラのIPアドレス info: カメラの詳細情報を受け取るEpicEyeInfoオブジェクト(幅と高さを含む) 戻り値: リクエストが成功したかどうかを示すbool型 |
|
フレームをトリガーしてキャプチャ |
パラメータ: ip: カメラのIPアドレス frameID: トリガー後に返されるフレームID(std::string型) pointCloud: 点群データをリクエストするかどうかを示すbool型 戻り値: リクエストが成功したかどうかを示すbool型 |
|
frameIDに基づいて2D画像を取得 |
パラメータ: ip: カメラのIPアドレス frameID: 取得対象のフレームID imageBuffer: 画像データを返すvoidポインタ pixelByteSize: 画像データのバイトサイズを受け取るint型 戻り値: リクエストが成功したかどうかを示すbool型 |
|
frameIDに基づいて点群データを取得(メモリ管理はSDKユーザー側で実施) |
パラメータ: ip: カメラのIPアドレス frameID: トリガーで得たフレームID pointCloudBuffer: 点群データを格納するfloatポインタ(幅×高さ×sizeof(float)×3のメモリが必要) 戻り値: リクエストが成功したかどうかを示すbool型 |
|
frameIDに基づいて深度マップを取得(メモリ管理はSDKユーザー側で実施) |
パラメータ: ip: カメラのIPアドレス frameID: トリガーで得たフレームID depth: 深度マップデータを格納するfloatポインタ(幅×高さ×sizeof(float)のメモリが必要) 戻り値: リクエストが成功したかどうかを示すbool型 |
|
frameIDに基づいてカメラ設定を取得。frameIDが空文字列""の場合は最新設定を取得 |
パラメータ: ip: カメラのIPアドレス configJson: カメラ設定データを返すnlohmann::jsonオブジェクト 戻り値: リクエストが成功したかどうかを示すbool型 |
Linux実行
-
依存パッケージ: gcc, g++, cmake, make
Debian系Linuxでは以下のコマンドでインストールできます:
sudo apt install gcc g++ cmake make
-
環境が整った後に:
mkdir build && cd build cmake .. && make -j12
コンパイルされたライブラリと
samples
バイナリファイルは、output
フォルダに格納されます:output/ ├── bin │ ├── CameraConfig │ ├── CameraInfo │ ├── CameraParameters │ ├── EpicEyeCapture │ └── SearchCamera └── lib └── libEpicEyeSDK.a
OpenCVの例
-
OpenCV環境のインストール:
sudo apt install libopencv-dev
-
または、以下のリンクから事前コンパイルパッケージをダウンロードできます: OpenCV事前コンパイルパッケージのダウンロード
sudo dpkg -i opencv-qytech_4.5.3-5+focal_amd64.deb
Windows実行
WindowsでCMakeおよびClangツールチェーンを使用する場合、Linuxの手順を参考にしてください。
Visual Studioを使用する場合は、VsCodeでcppフォルダを直接開きます。外部依存がないため、特別な設定は不要です。

すべてのビルドを実行:

実行対象を選択して実行:

OpenCVの例
サンプルプロジェクトにはEpicEyeCaptureOpencvプログラムが含まれており、Windows環境でOpenCVを設定する必要があります。
-
Opencvリリースページから対応するバージョンをダウンロードします。
-
プロジェクトディレクトリ(epiceyesdk_samples/cpp/samples/EpicEyeCaptureOpencv/thirdparty)に解凍します。
-
Visual StudioでEpicEyeSDKを構成します。
-
「ビルド」→「すべてリビルド」をクリックし、OpenCVライブラリがバイナリ出力フォルダに自動コピーされます。