colorangle
2 つの RGB ベクトル間の角度
説明
例
テスト イメージを読み取ります。イメージは、Canon EOS 30D デジタル カメラで撮影した、黒のレベルを補正し、ピクセルごとに 16 ビットにスケーリングした後の生のセンサー データです。デモザイキング、ホワイト バランシング、色強調、ノイズ フィルタリング、またはガンマ補正は適用されていません。
RAW = imread("foosballraw.tiff");関数demosaicを使用して内挿し、カラー イメージを取得します。カラー フィルターの配列パターンは RGGB です。
A = demosaic(RAW,"rggb");イメージを表示します。イメージは線形 RGB 色空間であるため、ガンマ補正を適用してイメージが画面上に正しく表示されるようにします。
A_sRGB = lin2rgb(A); imshow(A_sRGB)

イメージは ColorChecker® チャートを含みます。チャートのニュートラル パッチを使用し、事前に計算されたグラウンド トゥルースの光源を指定します。
illuminant_groundtruth = [0.0717 0.1472 0.0975];
光源の推定にずれが生じないように、マスクを作成して ColorChecker チャートを除外します。
mask = true(size(A,1), size(A,2)); mask(920:1330,1360:1900) = false;
illumwhite、illumgray、およびillumpcaの 3 つの異なる光源推定アルゴリズムを実行します。
illuminant_whitepatch = illumwhite(A,"Mask",mask); illuminant_grayworld = illumgray(A,"Mask",mask); illuminant_pca = illumpca(A,"Mask",mask);
関数 colorangle を使用して、それぞれの推定された光源とグラウンド トゥルースとの間の角度を計算することによって、各推定値をグラウンド トゥルースと比較します。角度が小さいほど、推定の精度が上がります。推定の大きさは重要ではありません。なぜなら、光源の方向のみが色順応によるイメージのホワイト バランスに使用されるからです。
angle_whitepatch = colorangle(illuminant_whitepatch,illuminant_groundtruth)
angle_whitepatch = 5.0921
angle_grayworld = colorangle(illuminant_grayworld,illuminant_groundtruth)
angle_grayworld = 5.1036
angle_pca = colorangle(illuminant_pca,illuminant_groundtruth)
angle_pca = 5.0134
angle_pca の値は最小です。これは、PCA 光源推定アルゴリズムがこのイメージのグラウンド トゥルース照度に最も近いことを示します。
入力引数
1 番目の RGB ベクトル。3 要素の数値ベクトルとして指定します。
データ型: single | double | uint8 | uint16
2 番目の RGB ベクトル。3 要素の数値ベクトルとして指定します。
データ型: single | double | uint8 | uint16
出力引数
RGB ベクトル間の角度。数値スカラーとして返されます。
データ型: double
詳細
角度誤差は、グラウンド トゥルースに対する光源の推定を評価するのに役立つメトリクスです。グラウンド トゥルースの光源と推定された光源との間の角度が小さいほど、推定の精度は高くなります。
バージョン履歴
R2017b で導入
参考
whitepoint | chromadapt | illumgray | illumpca | illumwhite
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)