Newer
Older
LensAdjustmentTool / README.md

LensAdjustmentTool v4 x64

DFK 33UX178 のレンズフォーカス/開口調整を支援する Windows Forms アプリケーションです。

v4 の設計方針

ユーザー環境で IC Imaging Control 3.5 SDK 付属サンプルを x64 に変更してビルド・実行できることが確認されたため、v4 はそのプロジェクト構成を基準にしています。

  • Visual Studio 2026
  • C# / Windows Forms
  • .NET Framework 4.8
  • x64 only
  • IC Imaging Control 3.5 for C#
  • OpenCvSharp4.Windows 4.13.0.20260627
  • OpenCvSharp4.Extensions 4.13.0.20260627
  • licenses.licx は使用しない

OpenCvSharp 5.x は .NET 8+ 系へ移行しているため、.NET Framework 4.8 を維持する本アプリでは OpenCvSharp 4.x の最新リリース 4.13.0.20260627 を使用します。

プロジェクト設定

LensAdjustmentTool.csproj は従来型 .NET Framework プロジェクトです。

主要設定:

<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<PlatformTarget>x64</PlatformTarget>
<LangVersion>7.3</LangVersion>

IC Imaging Control は、SDK サンプルと同じく通常のアセンブリ参照を使用します。

<Reference Include="Microsoft.VisualC" />
<Reference Include="TIS.Imaging.ICImagingControl35" />

OpenCvSharp は PackageReference で復元します。

<PackageReference Include="OpenCvSharp4.Windows" Version="4.13.0.20260627" />
<PackageReference Include="OpenCvSharp4.Extensions" Version="4.13.0.20260627" />

ビルド手順

  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 を実行します。

出力先:

  • Debug: bin\x64\Debug\
  • Release: bin\x64\Release\

Config\DFK33UX178.xml は出力フォルダへ自動コピーされます。

カメラ設定

起動時に 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

フォーカス調整

  • 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 / 実機カメラを使用した最終ビルドは実施できないため、プロジェクト構成とソースの静的整合性までを確認しています。実機環境でビルドエラーが出た場合は、最初のエラーから順に確認してください。