# LensAdjustmentTool

DFK 33UX178 カメラを用いたレンズ調整支援用の Windows Forms アプリケーションです。  
開口調整とフォーカス調整の 2 モードを備え、ライブ画像から評価値を算出して画面に表示します。  
起動時は開口調整タブが選択されます。

## 動作環境

- Visual Studio 2026
- .NET Framework 4.8
- x64
- IC Imaging Control 3.5 for C#
- OpenCvSharp4.Windows 4.13.0.20260627
- OpenCvSharp4.Extensions 4.13.0.20260627

## 主な機能

### 開口調整

- 表示 ROI: `(860, 625, 1280, 960)`
- 計算 ROI: `(950, 1150, 128, 128)`
- 計算 ROI の平均輝度を算出
- 目標値: `225.0`
- 現在値と差分（現在値 - 目標値）を表示
- 表示画像上に計算 ROI を赤枠で表示
- 小型の上下左右ボタンで計算 ROI を `5px` 単位で移動可能
- 計算 ROI の位置表示は画面右ペインに連動して更新
- 計算 ROI の位置は `ApertureRoi.txt` として実行ファイルと同じフォルダに保存され、次回起動時に復元
- 右ペインに `Media/LensApature.jpg` を表示

### フォーカス調整

- ROI: `(2135, 800, 400, 600)`
- ROI 画像を 90 度回転して表示
- フォーカス評価値の現在値を表示
- フォーカス評価値の最大値を表示
- 最大値リセット機能
- 右ペインに `Media/LensFocus.jpg` を表示

## プロジェクト構成

- `MainForm.cs` : メイン画面と UI 制御
- `Camera/` : カメラ初期化とフレーム取得
- `Processing/` : フォーカス・開口の画像解析処理
- `Configuration/AppSettings.cs` : ROI、閾値、開口 ROI 保存設定
- `Config/DFK33UX178.xml` : カメラ設定ファイル
- `Media/` : 画面右ペインに表示する説明画像

## ビルド方法

1. IC Imaging Control 3.5 SDK をインストールします。
2. Visual Studio でプロジェクトを開きます。
3. 構成を `Debug` または `Release`、プラットフォームを `x64` に設定します。
4. NuGet パッケージを復元します。
5. ビルドを実行します。

出力先:

- `bin\x64\Debug\`
- `bin\x64\Release\`

## 実行時の前提

起動時に `Config\DFK33UX178.xml` を読み込みます。  
想定デバイス名は `DFK 33UX178`、想定フレームサイズは `3072 x 2048` です。

開口調整の ROI 位置は、実行ファイルと同じフォルダの `ApertureRoi.txt` から復元されます。

## ログ

ログは以下に出力されます。

`%LocalAppData%\LensAdjustmentTool\Logs\`

## 補足

このプロジェクトは .NET Framework 4.8 / x64 前提です。  
Any CPU や x86 での動作は想定していません。
