特定の画像を照らす光源の(黒体に相当する)色温度を計算するにはどうすればよいですか?以下は、色温度とRGBヒストグラムのシフトを操作するAdobe Lightroomのスクリーンショットです。画像のRGBコンポーネントが与えられた場合、どのように計算しますか?単一の値を期待する必要があります-照明源の黒体相当温度ですよね?
特定の画像を照らす光源の(黒体に相当する)色温度を計算するにはどうすればよいですか?以下は、色温度とRGBヒストグラムのシフトを操作するAdobe Lightroomのスクリーンショットです。画像のRGBコンポーネントが与えられた場合、どのように計算しますか?単一の値を期待する必要があります-照明源の黒体相当温度ですよね?
回答:
このペーパー(pdfダウンロード)は、相関色温度(CCT)を計算するための以下の公式を提供します。彼らは明示的に言っていない(または私はそれを見逃した)が、彼らの例は、彼らが0-255の範囲のRGB値を仮定していると推測するように導く。
1. 次のように、RGB値をCIE三刺激値(XYZ)に変換します。
2.正規化された色度値を計算します。
3.以下からCCT値を計算します。
これらを組み合わせて、次の式を作成できます。
これを画像に適用するかどうかはわかりませんが、単一の一般化された数値が必要な場合は、何らかの平均化を使用できますか?画像の許容可能な「平均」RGB値(たとえば、重心)を見つけて、それを使用して温度を計算するか、(はるかに計算コストの高いオプション)画像内の各ピクセルの温度を計算し、それらの結果の平均を取得します。
また、色空間内の1つの曲線だけが実際に現実世界の黒体放射体から取得できる色を表すため、CCTはほとんどの色の近似指標にすぎないことに留意してください。したがって、他のすべての色の場合、計算された色温度は、最も近い黒体温の単なる近似値です。したがって、一部の色(特に緑)では、少なくとも物理的な意味では、実際には多少意味のない値になります。これは、次の画像でよく示されています(色温度に関するウィキペディアの記事から)。
画像の黒い線は、ブロック体の放射によって実際に生成される可能性のある色のプランク軌跡を表しています。小さい交差線は、近くのCCT近似の等温線を表しています。
また、あなたの質問は特にAdobe Lightroomを参照しているので、検索中にこれを見つけました。
[Adobe Lightroomの]スライダーは、光の黒体温度ではなく、光の黒体温度を補正するために画像に適用される補正を調整します。これは逆になります。
そのため、Lightroomスライダーに表示される色温度は、上記の式から計算される色温度とは異なることに注意してください。
私はあなたの式に従っていくつかの色を計算しましたが、私が見るようにいくつかのケースで動作しますが、他のいくつかのケースでは-赤(255 0 0)や青(0 0 255)など-それは間違った答えを与えます:
しかしながら:
赤(255 0 0):n = 2.1497、CCT = 40938.6 K->間違っているようです
青(0 0 255):n = -1.1148、CCT = 1672.45 K->間違っているようです