Main Content

measureIlluminant

テスト チャートを使用したシーンの光源の測定

説明

illuminant = measureIlluminant(chart) は、Imatest® eSFR チャート[1]または Calibrite ColorChecker® Classic チャート[2]のグレーの関心領域 (ROI) を使用してシーンの光源を測定します。

すべて折りたたむ

この例では、グレー パッチ ROI を使用して eSFR チャートの光源を測定する方法を示します。その後、eSFR チャートのイメージのホワイト バランスを調整します。

eSFR チャートのイメージをワークスペースに読み取ります。

I = imread("eSFRTestImage.jpg");

esfrChart オブジェクトを作成します。チャートを表示し、20 個のグレー パッチを強調表示します。

chart = esfrChart(I);
displayChart(chart,displayEdgeROIs=false, ...
    displayColorROIs=false,displayRegistrationPoints=false)

Figure eSFR test chart contains an axes object. The axes object contains 21 objects of type image, text.

グレー パッチ ROI を使用して光源を推定します。光源には、赤と緑の成分より強い青の成分が含まれています。この結果は、青みがかった色調のテスト チャートのイメージと一致します。

illum = measureIlluminant(chart)
illum = 1×3

  110.9147  116.0008  123.2339

チャート イメージのホワイト バランスを調整し、結果を表示します。ホワイト バランス済みイメージは、特に中間のグレー パッチやイメージの背景上で青みがかった色調が少なくなります。

J = chromadapt(I,illum);
imshow(J)
title("White Balanced Test Chart")

Figure eSFR test chart contains an axes object. The axes object with title White Balanced Test Chart contains an object of type image.

推定された光源を使用して、同様のライティング条件下で取得された他のイメージのホワイト バランスを調整できます。

入力引数

すべて折りたたむ

テスト チャート。esfrChart オブジェクトまたは colorChecker オブジェクトとして指定します。

出力引数

すべて折りたたむ

シーンの光源。3 要素の行ベクトルとして返されます。

データ型: double

ヒント

  • イメージのホワイト バランスを調整するには、関数 chromadapt を使用します。

  • 線形イメージ データを使用してシーンの光源を測定することをお勧めします。イメージ データを線形化する必要がある場合は、関数 rgb2lin を使用できます。

参照

[2] Calibrite. "ColorChecker Classic". https://calibrite.com/us/product/colorchecker-classic/.

バージョン履歴

R2017b で導入

すべて展開する