MiniTIAS で撮影した白板画像の照明均一性を定量的に評価する.白板の白壁面領域の輝度分布を解析し,3 つの指標で均一性を定量化する.
RGB 画像を ITU-R BT.709(Rec.709)の輝度係数でグレースケールに変換する.
| 方法 | 定義 | 不採用の理由 |
|---|---|---|
| Rec.709(採用) | 上記の加重平均 | — |
| V チャネル(HSV) | max(R, G, B) | 白板では R≈G≈B のため差は小さいが,規格に基づかない |
| L*(CIE L*a*b*) | 非線形変換 | 物理的な照明ムラと比例せず,照明均一性評価には不適 |
Rec.709 は人間の視感度に基づく標準的な輝度定義であり,照明工学・画像評価の論文で広く使用されている.
ROI 内の全画素の輝度値から以下の 3 指標を算出する.
MiniTIAS の開口部に白板を取り付けて撮影する.ROI は白板の表面領域(中央の白い四角形)とする.以下を除外する:
scripts/select_roi.py で 1 枚の画像上に矩形を描いて座標を決定config/roi_config.json に保存python scripts/select_roi.py --image data/minitias/whiteboard/<画像ファイル名>.png --config config/roi_config.json --roi minitias.whiteboard
OpenCV のウィンドウが開くので,マウスで矩形を選択して Enter で確定する.ESC でキャンセル.
ROI 内の輝度の空間的な偏り(中心-周辺勾配)を定量化する.
各ピクセルについて,ROI 中心からの正規化楕円距離 d を算出する.
正規化距離の閾値で ROI を 3 つの同心楕円ゾーンに分割する.
| ゾーン | ラベル | 距離条件 |
|---|---|---|
| Center(中心) | 0 | d < 0.33 |
| Middle(中間) | 1 | $0.33 \leq d < 0.66$ |
| Periphery(周辺) | 2 | $0.66 \leq d$ |
閾値は正規化距離の三等分点に設定し,標準的な照明評価の領域分割に対応する.
各ゾーンの平均輝度 と標準偏差 を算出する(z \in {center, middle, periphery}$).
正規化距離を 20 等分のビンに分割し,各ビン内の平均輝度を集計する.中心から周辺にかけての輝度変化の傾向を連続的に把握できる.
scripts/run_uniformity.py で白板画像を一括解析する.ROI 設定済みであること.
# ディレクトリ内の全画像を一括解析 python scripts/run_uniformity.py --image data/minitias/whiteboard/ --config config/roi_config.json --roi minitias.whiteboard # 単一画像の解析 python scripts/run_uniformity.py --image data/minitias/whiteboard/<画像ファイル名>.png --config config/roi_config.json --roi minitias.whiteboard
output/results/summary_uniformity.csv — 全画像の均一性指標一覧output/results/summary_spatial.csv — 全画像の空間分析指標一覧output/results/<画像名>_uniformity.csv — 各画像の均一性指標output/figures/<画像名>_luminance_map.png — 輝度マップoutput/figures/<画像名>_histogram.png — 輝度ヒストグラムoutput/figures/<画像名>_radial_profile.png — 放射状輝度プロファイルoutput/figures/<画像名>_zone_map.png — ゾーンオーバーレイマップStreamlit ベースのビューアで解析結果を確認できる.
.venv\Scripts\streamlit run scripts/viewer.py
scripts/run_uniformity.py でバッチ解析が完了していることoutput/results/summary_uniformity.csv および output/figures/ に画像ファイルが存在することバッチ解析の結果から自己完結型の HTML レポートを生成する.
python scripts/generate_report.py --output output/
scripts/run_uniformity.py でバッチ解析(空間分析を含む)が完了していることoutput/results/summary_uniformity.csv と output/results/summary_spatial.csv が存在することoutput/reports/uniformity_report.html — 自己完結 HTML レポート画像はすべて base64 でインライン埋め込みされるため,HTML ファイル単体で閲覧可能.PDF が必要な場合はブラウザの印刷機能を使用する.
照明均一性評価ではカラーキャリブレーションを行わない.輝度の相対的なばらつき(CoV 等)は画像内の比較であり,カメラの色特性のズレが全画素に等しく影響するため,指標の値に影響しない.