均一な強度で可視スペクトルを正しくレンダリングする方法は?


8

画面にレンダリングする可視スペクトルの正しい表現を取得しようとしています。私の現在の進歩は、CIE 1931標準オブザーバーのカラーマッチング関数を使用して、この論文で与えられた方程式によって分析的に近似されています。現在の画像は次のとおりです:

生成できる現在の画像

ここで、背景は理想的に黒ではなく、カラーマッチング関数からの負の寄与を導入することができます。

カラーマッチング機能

しかし、問題は、画像の強度が490 nm前後のどこかに落ちているように見えることです。これは、3つの関数の合計に最小値があることに関連していると思います。波長に対してプロットされた合計を確認します。

3つのカラーマッチング関数の合計

だから私の質問は今です:画像の強度をどのように修正するのですか?波長をRGB / XYZ表現に変換するときに分光感度を考慮するための標準はありますか?


ここで私はこの質問に関するいくつかの情報を見つけました
Michael Weizenfeld 2018年

このスレッド、具体的には後の投稿でグレッグウォードの回答をご覧ください。あなたの質問と関係があると思います。radiance-online.org:447/pipermail/radiance-general/2015-June/...
アリ

@aliそれは、重み付けされていないRGB値の私の追加に関連していることを意味しますか?私はすでにこの間違いを見つけて、私の答えにそれを反映しました。
ルスラン

回答:


3

これは、3つの関数の合計に最小値があることに関連していると思います。波長に対してプロットされた合計を見る

これは実際にはこれらの関数を合計するのに間違った方法です。sRGBモデルでは、明度を取得するにはRGBコンポーネントを適切な重みで重み付けする必要があると指定しています。次に、当然のことながら、光度はXYZ表現のYコンポーネントと等しくなります。

それの問題は、画像の強度が490 nm前後のどこかにあるように見えることです。

実際には、490 nm付近だけでなく、570 nm付近のより小さなディップも確認できます。

とにかく、その理由を見つけたと思います。まず、レンダリングで使用される彩度の低い色を色度図にプロットします。

内部の非飽和スペクトルを含む色度図

破線の三角形はsRGB色域であり、緑の曲線の下2本の線によって形成される尖点は、D65の白(灰色)の点に対応しています。白い点から3つの「隆起」があり、紫、青緑、赤に対応していることに注意してください。または、490 nmの方向で飽和が大きく落ち込み、約570 nmの方向で適度に減少していることを示します。これをグラフィカルに特徴付け、レンダリングされた点と白色点の差のノルムをプロットします。

飽和度のプロット

これはまさに私が飽和状態の面で画像に視覚的に認識するため、背景とブレンドするもの。

この奇妙な形はどこから来たのでしょうか。そして答えは、XYZ空間全体のスペクトル軌跡からです。次の図を参照してください。青い曲線はスペクトル軌跡、オレンジはベクトルに垂直な平面への投影{1,1,1}です。

XYZ空間のスペクトル軌跡

したがって、色度図で得られた形状は、スペクトル軌跡の平面展開のようなものです。

このレンダリングのリアリズムについては、実際のスペクトルを灰色の非蛍光面に投影しようとすると、これらの2つの「奇妙な」ディップが見られることは十分に確信しています。そして、表面の明るさに対してスペクトルの明るさを上げると、それらは目立たなくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.