コンテンツにスキップ

Python サンプルプログラム集

本セクションでは、INFINICAM GbE-2(Ethernetモデル) を Python(ctypes による C API 呼び出し)から制御し、NumPy や各種画像処理・AI ライブラリと連携させるためのサンプルプログラム集を掲載しています。各サンプルは共通モジュール puclib.py(HelloWorld にて作成)をインポートして動作します。

共通モジュール(puclib.py)の構築や、各種フォーマット(PGM / PNG / PPM)での画像保存手順です。

取得した SingleImage を各種画像処理・機械学習ライブラリで加工・表示・保存する実践的なサンプルです。

リアルタイムストリーミングや、固定長圧縮の特長を活かした高速デコード処理の実装例です。

撮影速度・画像サイズの設定変更や、外部信号との同期制御を行うサンプルです。


サンプル名 対象機能 / 主なライブラリ 難易度 主な学習内容
HelloWorld puclib.py / ctypes 初級 共通ラッパーモジュール作成、GbE-2 検出・機器情報取得
SingleImage (PGM) NumPy 初級 1フレームキャプチャ、デコード、PGM保存
SingleImage (PNG) OpenCV / Pillow 初級 NumPy 配列から PNG フォーマットへのエンコード・保存
SingleImage (カラー) NumPy / OpenCV 初級 ホワイトバランス設定、Bayer変換復号、PPM/PNG保存
OpenCV 画像処理 cv2 (OpenCV) 中級 Cannyエッジ検出・ガウシアンフィルタ・表示・保存
scikit-image 解析 skimage / matplotlib 中級 大津の二値化、領域ラベル付け、輪郭表示・保存
torchvision 前処理 torch / torchvision 中級 PyTorch Tensor変換、リサイズ・正規化・保存
OpenCV LiveView cv2 / ctypes.CFUNCTYPE 中級 コールバック受信と OpenCV によるリアルタイム描画
連続高速キャプチャ threading / queue 上級 Pythonコールバック、スレッド間キューイング処理
ROI デコード PUC_DecodeData 中級 特定領域(8×8ブロック単位)の限定復号
DC成分抽出 PUC_DecodeDCData 中級 1/8 縮小プレビュー画像の超高速生成
撮影条件変更 PUC_SetResolution 初級 解像度・フレームレート・シャッター速度の変更
外部機器同期 PUC_SetSyncInMode 中級 外部信号(SYNC IN)同期撮影とタイムアウト処理