サンプルプログラム

eGrabberのサンプルプログラムは、egrabber-<OS>-sample-programs-<MA.MI.RE.BU>.<EXT>という専用のパッケージで提供されます。名前に含まれる<OS>はオペレーティングシステム(linuxmacos、またはwin)で、<MA.MI.RE.BU>はパッケージのバージョン番号です。

サンプルプログラム 説明 言語 OS
cpp/egrabber eGrabberのコードスニペット C++ Windows、Linux、macOS
cpp/live 画像の取り込みと表示を示すWin32アプリケーション C++ Windows
cpp/egrabber-mfc 画像の取り込みと表示を示すMFCアプリケーション C++ Windows
cpp/amdDirectGMA 画像の取り込み、AMD GPUメモリへの直接転送、表示を示すOpenGLアプリケーション C++ Windows
cpp/nvidia/egrabber-cuda eGrabberを使用した画像の取り込みと、Nvidia GPUでCUDAを使用した処理を示すOpenGLコンソールアプリケーション C++ Windows、Linux
cpp/ffcWizard Coaxlink FFC(フラットフィールド補正)の係数の計算方法を示すコンソールアプリケーション C++ Windows、Linux、macOS
cpp/exif Coaxlink Quad CXP-12 JPEGの使用方法とEXIFファイルにメタデータを埋め込む方法を示すサンプルプログラム C++ Windows、Linux、macOS
cs/egrabber eGrabberと、C#でのコールバックの使用方法を示すコンソールアプリケーション C# Windows
cs/grabn 画像の取り込みを示すコンソールアプリケーション C# Windows
cs/live 画像の取り込みと表示を示すWindowsフォームアプリケーション C# Windows
cs/egrabber-wpf 画像の取り込みと表示を示すWPFアプリケーション C# Windows
python/sample* eGrabberのサンプルプログラム Python Windows、Linux、macOS
python/live numpy、opencv、Pillowなどで取り込んだデータを処理する方法を示す、eGrabberの追加サンプルプログラム Python Windows、Linux、macOS
vb/grabn 画像の取り込みを示すコンソールアプリケーション VB.NET Windows
vb/live 画像の取り込みと表示を示すWindowsフォームアプリケーション VB.NET Windows

EGrabber C++コードスニペット

cpp/egrabberには次のコードスニペットが含まれています。

スニペット 説明
100-grabn ScopedBufferクラスを使用したNフレームの単純な取り込み
110-get-string-list EGrabberのgetStringListメソッドの基本的な使用方法
120-converter FormatConverterの速度を測定
130-using-buffer Bufferクラスを使用したNフレームの単純な取り込み
140-genapi-command GenApiコマンドのクエリ
200-grabn-callbacks Nフレームを取り込み、コールバックでDataStreamイベントを取得
210-show-all-grabbers 利用可能なグラバーを表示
211-show-all-grabbers-ro 使用可能なグラバーを表示(DEVICE_ACCESS_READONLYでデバイスを開きます)
212-create-all-grabbers 利用可能なグラバーを作成
213-egrabbers EGrabbersで利用可能なグラバーを使用
220-get-announced-handles 公開されたバッファーの情報とハンドルを取得
221-queue-buffer-ranges 設定の異なる2つのバッファーを作成して使用
230-script-vars ネイティブコードとEuresysスクリプト間でデータを渡す
231-script-var ネイティブコードとEuresysスクリプトから仮想機能を作成して使用
240-user-memory ユーザーが割り当てたバッファーへの取り込み
250-using-lut LUTプロセッサーを設定して有効にする
300-events-mt-cic EGrabberマルチスレッド構成でのCICイベント
301-events-st-all EGrabberシングルスレッド構成でのすべてのイベント
302-cxp-connector-detection 接続とデバイス検出に関連するCoaXPressイベントを表示
500-grabn-cuda-process Nフレームを取り込み、cuda演算で処理
501-all-grabbers-cuda-process 利用可能なすべてのグラバーを使用してNフレームを取り込み、cuda演算で処理
610-line-scan-array EGrabberシングルスレッドを使用したラインスキャンの(連続)バッファー配列
620-multiple-camera すべてのカメラのデータの取り込み
630-sublink 同じPC上にある2つのサブリンクグラバーのバッファーをマージ
640-mitsubishi-kd6r807cx 1つの三菱KD6R807CXに接続された2つのグラバーのバッファーをマージ(memcpy演算)
641-mitsubishi-kd6r807cx 1つの三菱KD6R807CXに接続された2つのグラバーのバッファーをマージ(DMA)
650-multistream 同じデバイスにある4つのデータストリームのデータを取得(Coaxlink Quad G3の「1カメラ、4データストリーム」ファームウェアバリアント上)
660-phantom ファントムストリーマー16 CXP6に接続された利用可能なグラバーのバッファーをマージ

EXIFサンプルプログラム

cpp/exifには次の情報が含まれています。

サンプル 説明
100-jpeg-exif 4つのJPEGエンコードデータストリームからデータを取得し、EXIFファイルを生成
200-jpeg-preview-exif 4つのプレビューと4つのJPEGエンコードデータストリームからデータを取得し、サムネイル付きのEXIFファイルを生成

eGrabber Pythonサンプルプログラム

サンプル 説明
live-capture-opencv OpenCVおよびNumPyを使用してAVIファイルを生成するためのフレームの取得とRGB8への変換
live-numpy-opencv 取得したMono8データからNumPy配列を作成、配列の転置、およびOpenCVを使用しての画像表示
live-tkinter-pillow Pillowの輪郭フィルターで処理された取得画像を表示するtkinterのシンプルなアプリケーション
sample100 ScopedBufferクラスを使用した単純なNフレームの取り込み
sample120 eGrabberのC++サンプルの120-ConverterのPythonバージョン
sample130 手動のバッファ管理による単純なNフレームの取り込み
sample140 GenApiコマンドのクエリ
sample210 利用可能なグラバーを表示