C++ サンプルプログラム集
This content is not available in your language yet.
本セクションでは、INFINICAM GbE-2(Ethernetモデル) を Visual Studio (C++) 環境から制御するための各種サンプルプログラムと実装例を掲載しています。
基礎・環境構築
Section titled “基礎・環境構築”開発環境(Visual Studio)のビルド設定や、カメラの初期化・情報取得を行う基本プログラムです。
HelloWorldネットワーク上の GbE-2 を検出・オープンし、シリアルナンバーやバージョン情報を取得します。
SingleImage1フレーム分の圧縮キャプチャデータを取得・復号し、PGM画像ファイルとして保存します。
SingleImage (カラー)GbE-2 カラーモデルからキャプチャした圧縮データを Bayer 変換・復号し、PPM画像として保存します。
撮影条件変更 + SingleImage解像度・フレームレート・シャッター速度などの撮影パラメータを変更して 1 フレームを取得・保存します。
外部機器同期設定外部パルス信号(SYNC IN)に同期させて撮影を行う設定手順とエラー対処について説明します。
応用・高速処理サンプル
Section titled “応用・高速処理サンプル”INFINICAMの特長である「固定長圧縮」を活かした高速デコード処理や、リアルタイムストリーミングの実装例です。
OpenCV LiveView取得した画像データをリアルタイムに復号し、OpenCVのウィンドウ上にストリーミング表示します。
連続高速キャプチャコールバック関数・リングバッファ・マルチスレッド復号を活用し、コマ落ちなく高速に連続画像を取得します。
SingleImage + ROI デコード画像全体を展開せず、指定した関心領域(ROI)のみをピンポイントで超高速復号します。
SingleImage + DC成分抽出圧縮データのDC成分のみを取り出し、1/8サイズの軽量プレビュー画像を即座に生成します。
機能別サンプル一覧
Section titled “機能別サンプル一覧”| サンプル名 | 対象機能 / 主なAPI | 難易度 | 主な学習内容 |
|---|---|---|---|
| HelloWorld | PUC_DetectDevice2 / PUC_OpenDevice2 |
初級 | GbE-2 の検出・オープン・機器情報の取得 |
| SingleImage | PUC_GetSingleXferData / PUC_DecodeData |
初級 | 1フレームキャプチャと標準デコード・PGM出力 |
| SingleImage (カラー) | PUC_SetWhiteBalanceGain / PUC_DecodeData |
初級 | カラーデータのBayer変換復号・PPM保存 |
| 撮影条件変更 + SingleImage | PUC_SetResolution / PUC_SetFramerateShutter |
初級 | 画像サイズ・フレームレート・シャッター速度の変更とキャプチャ |
| 外部機器同期設定 | PUC_SetSyncInMode / PUC_GetSingleXferData |
中級 | 外部信号(SYNC IN)への同期撮影とタイムアウト制御 |
| OpenCV LiveView | PUC_BeginXferData / cv::imshow |
中級 | コールバックによるリアルタイム画像表示 |
| 連続高速キャプチャ | PUC_BeginXferData / PUC_DecodeDataMultiThread |
上級 | コールバック受信・リングバッファ拡張・マルチスレッド復号 |
| ROI デコード | PUC_DecodeData (座標指定) |
中級 | 特定領域(8×8ブロック単位)の限定復号 |
| DC成分抽出 | PUC_DecodeDCData |
中級 | 1/8 縮小プレビュー画像の超高速生成 |
