ReproVision(仮)開発構想:産業用カメラ制御をもっとシンプルに、再現性高く
はじめに
産業用カメラを使った画像計測や実験を行う中で、こんな課題を感じたことはありませんか?
- あれこれ設定をいじった(いじられた)後、以前と同じ条件で撮影したいのに再現できない
- 露光・ゲイン・ROIなどの調整に時間がかかる
- 設定ファイル(.pfsなど)を保存しても、中身が分かりにくく管理が面倒
- 実験ログやパラメータを手動で記録している
- 各社異なるビューワやSDKを使い分けるのが大変
これらの課題を解決するために、産業用カメラの設定・記録を支援するツール 「ReproVision(仮)」 を開発しています。
ReproVisionとは?
ReproVision は、Basler社(pylon SDK対応)をはじめ、複数メーカーの産業用カメラに対応予定のWindowsアプリです。主な目的は、
実験や検査で得た画像の「再現性(Reproducibility)」を確保すること。
です。
※すでに同名アプリが存在するため、現在は仮称で開発を進めています。最初に調べておけばよかったと反省しています。
上の図は、アプリのメインUIです。
想定ユーザー
- 大学や企業で複数メーカーのカメラを扱う研究・開発者
- カメラ制御コードを自作する時間がないエンジニア
- 実験条件を管理・共有したい研究者
- 学生実験を効率化したい教育関係者
- 筆者自身(開発者・ユーザー)
主要機能(予定)
まずはBasler社製カメラを対象に開発し、今後のアップデートで対応カメラを拡大していく予定です。
基本版(Free / Standard)
- pylon SDKを用いたカメラ接続・画像取得
- カメラ設定の変更
- pfsファイルの保存・読み込み
- 撮影パラメータのログ出力(CSV)
- ROI設定・プレビュー
- 撮影画像のBMP/PNG保存
上の図は撮影条件の履歴です。生成AIの力も借りていますが、XAMLのレイアウトが崩れやすく悩みどころです。
Pro版(有料予定)
- pfsファイル内容のリスト表示・フィルタリング
- カスタム項目表示(ユーザー定義列)
- 実験ログの自動保存(日時・条件付き)
- GUIカスタマイズ(テーマ・レイアウト)
- スクリプト連携(C# / Python)
- ソフトウェアトリガー制御
上の図は、カスタム項目表示の例です。
普段、pylon viewerなどメーカー純正ツールで行っている操作を、共通のUIで完結できるアプリを目指しています。
具体的には、以下のような操作を統一的に行えるようにします:
- カメラ設定の確認・変更
- ライブビューによる条件調整
- 画像の保存
- トリガー制御
これに加えて撮影条件を簡単に管理できる機能を実装していきます。
開発環境と設計方針
- 言語:C# / .NET 8
- UI:WPF(MVVM構成)
- カメラ制御:Basler pylon SDK(C#ラッパ)
-
ライブラリ構成:
-
ReproVision.Core(カメラ制御・設定管理・ログ) -
ReproVision.UI(GUI層)
-
複雑なフレームワークを避け、Prismライクな軽量MVVM実装を採用しています。
このブログでこれまで紹介してきた BaslerCameraSample クラスも活用しています。
Baslerカメラ × pylon SDK 制御シリーズまとめ
開発の背景
筆者はこれまで、レーザ分野の研究や加工検査装置のソフトウェア開発に携わってきました。その中で常に感じていたのが、カメラ制御の再現性を確保する難しさ です。
環境・設定・照明・レンズ・撮影範囲――わずかな違いが結果に大きく影響します。特に研究現場では、「昨日と同じ条件で撮影したい」「別の人でも再現できるようにしたい」といった要求があります。
ReproVisionは、そうした“ちょっと面倒”を解消し、研究者が本来の目的(観察・解析)に集中できる環境を提供することを目指しています。
現在の進捗
- ✅ カメラ接続/撮影機能(pylon SDK対応)
- ✅ pfsファイルの保存・読み込み
- ✅ ROIプレビュー/ズーム機能
- 🔄 撮影ログ/平均輝度算出(開発中)
- 🧩 Pro版機能(カスタム項目表示・設定差分比較)検討中
普段の業務では扱わないアップデート機能やライセンス管理なども自作しており、新鮮な学びの連続です。
今後の展望
- 2025年内:Free版公開(BOOTHにて)
- 2026年春:Pro版公開・カスタムリスト機能搭載
- 将来的には:Teledyneなど複数社カメラにも対応予定
開発ロードマップ
まとめ
ReproVision(仮) は、「設定の見える化」と「再現性の自動化」を目指した産業用カメラ向けツールです。
研究や検査の現場で、再撮影や条件比較に悩んでいる方は、ぜひ今後の開発にご注目ください。進捗はQiitaで随時公開していきます。
📢 フィードバック募集中!
- 「こういう機能が欲しい」
- 「この部分を自動化したい」
- 「このメーカーにも対応してほしい」
など、コメントでぜひ教えてください。皆さんの声をもとに、ReproVision(仮)をより実践的なツールへ育てていきます。
👨💻 筆者について
@MilleVision
産業用カメラ・画像処理システムの開発に関する情報を発信中。
pylon SDK × C# の活用シリーズを連載しています。


