1. ArUco マーカー検出(DetectChart)
↓
2. チャート固定判定
↓
3. ホワイトバランス自動調整(ゲイン更新)
↓
4. TCC 変換行列の計算(CalcTcc)
↓
5. 変換行列の保存・撮影の有効化
Calib/ChartSetCriteria が Calib/ChartSetCount フレーム連続したら固定と判断する._chartMasks リスト(インデックス 0〜23)に格納する._chartMasks を使って 24 パッチの平均 RGB 値を測定する(24×3 行列).3チャンネル(R,G,B)を指定の次元数に拡張する.
次元数と項の対応
| 次元数 | 追加される項 |
|---|---|
| 4 (1次式) | 1, R, G, B |
| 10 (2次式) | + RG, RB, GB, R², G², B² |
| 17 (3次式) | + R²B, R²G, G²R, G²B, B²R, B²G, RGB |
ExtendChannels テーブルで定義した3チャンネルの積として計算する.Cv2.Solve(..., DecompTypes.SVD) を使用する.tcc_srgb.csv: 24色票の標準 sRGB 値(24×3 行列)tcc_xyz.csv: 24色票の標準 XYZ 値(24×3 行列)CameraBase に保持する.CV_64FC3(64bit浮動小数点3チャンネル)に変換するCV_8UC3(8bit整数)に変換して出力するConvertTo による飽和).