Form1 ロード時に以下の順で接続を試みる.
Lucam.Connect() を実行する
ImagingSource デバイス一覧を走査する
IScam.Connect() で試行するどのカメラも接続できない場合
[デバイス名].xml からカメラ設定をロードする.config.xml の <カメラ名>/ROI から ROI 設定を読み込む.FrameQueueSink をシンクに設定してライブ開始する.FrameQueueSink の Retrieve コールバックでフレームを受け取る..T())し,ROI を切り出して表示する.FrameQueueSink → FrameSnapSink に切り替える.SnapSingle() で1フレームずつ取得して _shots に蓄積する.FrameQueueSink に戻す.LucamNumCameras() で接続台数を確認する(0台または2台以上はエラー).0x49f → Lw110).LucamRgbPreviewCallback コールバックを登録する.config.xml の <Lucam> からカメラパラメータを設定して,プレビューを開始する.LucamRgbPreviewCallback でフレームを受け取る..T())して表示する(ROI クリップなし).LucamEnableFastFrames() でスナップ撮影モードに切り替える.LucamTakeFastFrame() でRAW画像を取得し,LucamConvertFrameToRgb24() でRGB変換する.LucamDisableFastFrames() で通常モードに戻す.チャート検出後(_calibrating が Calib/Frames にセットされた後),各フレームで以下の処理を行う.
白色票(_chartMasks[12],24色票の13番)の平均 RGB 値を測定する
Calib/UpdateInterval フレームごとにゲインを更新する
ratio = (target / current - 1) * UpdateRate + 1VCDRangeProperty.Value を直接更新する_snap.Gain* を更新し SetCameraParam() で反映する_calibrating をデクリメントし,0 になったら CalcTcc() を呼び出す
SetSaveFolder(note) が保存先フォルダを以下の書式で生成する.
[SaveFolder]/[yyyy-MM-dd]/[HH_mm_ss]-[note]/
SaveFolder は config.xml の <File/SaveFolder> で指定する.note は「データ名」(撮影時)または「校正」(キャリブ時).