diff --git a/README.md b/README.md index c133ff7..8c25c8c 100644 --- a/README.md +++ b/README.md @@ -1,95 +1,72 @@ -# LensAdjustmentTool v4 x64 +# LensAdjustmentTool -DFK 33UX178 のレンズフォーカス/開口調整を支援する Windows Forms アプリケーションです。 +DFK 33UX178 カメラを用いたレンズ調整支援用の Windows Forms アプリケーションです。 +フォーカス調整と開口調整の 2 モードを備え、ライブ画像から評価値を算出して画面に表示します。 -## v4 の設計方針 - -ユーザー環境で IC Imaging Control 3.5 SDK 付属サンプルを x64 に変更してビルド・実行できることが確認されたため、v4 はそのプロジェクト構成を基準にしています。 +## 動作環境 - Visual Studio 2026 -- C# / Windows Forms - .NET Framework 4.8 -- **x64 only** +- x64 - IC Imaging Control 3.5 for C# -- OpenCvSharp4.Windows **4.13.0.20260627** -- OpenCvSharp4.Extensions **4.13.0.20260627** -- `licenses.licx` は使用しない +- OpenCvSharp4.Windows 4.13.0.20260627 +- OpenCvSharp4.Extensions 4.13.0.20260627 -OpenCvSharp 5.x は .NET 8+ 系へ移行しているため、.NET Framework 4.8 を維持する本アプリでは OpenCvSharp 4.x の最新リリース 4.13.0.20260627 を使用します。 +## 主な機能 -## プロジェクト設定 +### フォーカス調整 -`LensAdjustmentTool.csproj` は従来型 .NET Framework プロジェクトです。 +- ROI: `(2135, 800, 400, 600)` +- ROI 画像を 90 度回転して表示 +- フォーカス評価値の現在値を表示 +- フォーカス評価値の最大値を表示 +- 最大値リセット機能 +- 右ペインに `Media/LensFocus.jpg` を表示 -主要設定: +### 開口調整 -```xml -v4.8 -x64 -7.3 -``` +- 表示 ROI: `(860, 625, 1280, 960)` +- 計算 ROI: `(950, 1150, 128, 128)` +- 計算 ROI の平均輝度を算出 +- 目標値: `225.0` +- 現在値と差分(現在値 - 目標値)を表示 +- 表示画像上に計算 ROI を赤枠で表示 +- 右ペインに `Media/LensApature.jpg` を表示 -IC Imaging Control は、SDK サンプルと同じく通常のアセンブリ参照を使用します。 +## プロジェクト構成 -```xml - - -``` +- `MainForm.cs` : メイン画面と UI 制御 +- `Camera/` : カメラ初期化とフレーム取得 +- `Processing/` : フォーカス・開口の画像解析処理 +- `Configuration/AppSettings.cs` : ROI や閾値などの設定 +- `Config/DFK33UX178.xml` : カメラ設定ファイル +- `Media/` : 画面右ペインに表示する説明画像 -OpenCvSharp は PackageReference で復元します。 +## ビルド方法 -```xml - - -``` - -## ビルド手順 - -1. IC Imaging Control 3.5 SDK がインストールされ、添付SDKサンプルの x64 版がビルド・実行できる環境で作業します。 -2. `LensAdjustmentTool.sln` を Visual Studio 2026 で開きます。 -3. Solution Configuration を `Debug`、Solution Platform を `x64` にします。 -4. NuGet パッケージの復元を実行します。 -5. `Build > Rebuild Solution` を実行します。 +1. IC Imaging Control 3.5 SDK をインストールします。 +2. Visual Studio でプロジェクトを開きます。 +3. 構成を `Debug` または `Release`、プラットフォームを `x64` に設定します。 +4. NuGet パッケージを復元します。 +5. ビルドを実行します。 出力先: -- Debug: `bin\x64\Debug\` -- Release: `bin\x64\Release\` +- `bin\x64\Debug\` +- `bin\x64\Release\` -`Config\DFK33UX178.xml` は出力フォルダへ自動コピーされます。 +## 実行時の前提 -## カメラ設定 +起動時に `Config\DFK33UX178.xml` を読み込みます。 +想定デバイス名は `DFK 33UX178`、想定フレームサイズは `3072 x 2048` です。 -起動時に `Config\DFK33UX178.xml` を読み込み、以下を前提とします。 +## ログ -- Camera: DFK 33UX178 -- Format: RGB24 3072 x 2048 -- Frame rate: 約30 fps -- Auto Exposure: OFF -- Auto Gain: OFF -- Auto White Balance: OFF +ログは以下に出力されます。 -## フォーカス調整 +`%LocalAppData%\LensAdjustmentTool\Logs\` -- ROI: `(2135, 800, 400, 600)` -- ROI を右 90 度回転して表示 -- Sobel X/Y 勾配の絶対値平均をフォーカス評価値として表示 -- 現在値と、モード開始後の最大値を表示 -- 「最大値をリセット」ボタンあり +## 補足 -## 開口調整 - -- 表示ROI: `(860, 625, 1280, 960)` -- 計算ROI: `(950, 1150, 128, 128)` -- 計算ROIをグレースケール化し、平均輝度を算出 -- 目標値: 225 -- 現在値と `現在値 - 225` を表示 -- 表示画像上に計算ROIを赤枠表示 - -## フレーム処理 - -IC Imaging Control の `FrameQueueSink` から取得したフレームを直接処理し、UIへは最新の解析結果だけを渡します。処理待ちフレームを無制限に蓄積しないため、調整操作に対する表示遅延を抑えます。 - -## 注意 - -この環境では IC Imaging Control 3.5 SDK / Visual Studio / 実機カメラを使用した最終ビルドは実施できないため、プロジェクト構成とソースの静的整合性までを確認しています。実機環境でビルドエラーが出た場合は、最初のエラーから順に確認してください。 +このプロジェクトは .NET Framework 4.8 / x64 前提です。 +Any CPU や x86 での動作は想定していません。