• 締切済み

XYZ表色系からsRGBを求めるとsRGBのB値が負になります。これっていいのでしょうか?

今、 X = 70.874 Y = 100 Z = 0.835688 からhttp://homepage2.nifty.com/studio_AURK/ccconv/Color/cie.htmlに書いてある CIE XYZccir709 (D65) -> sRGBを用いて変換すると Bが負の値になりました。XYZは黄色の範囲を選んだつもりです。 このXYZがの取り方がまずいのでしょうか? お尋ねしたいことは、 (1)sRGBは負の値を持つのか? (2)XYZの値域はどうなっているのか? 原因がよくわかりません。だれか詳しい方、教えてもらえないでしょうか

みんなの回答

  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.1

正しいです。 RGBの3原色で表せる色は現実に存在する色の一部分であり、その範囲を外れる色をRGBにあてはめるならば負の値が生じます。 これは人間の眼の特性によるもので、考え方としてはたとえば赤の単色光は赤だけでなく緑の色覚も刺激しますので、より長波長側の赤のみを刺激する色はRGBの混色では作り出せません。 また、この負が生じる不都合を解消するためにXYZ表色系は作られましたので、XYZの値に負はありません。 値域はたぶん、自然界に存在する可視光の単色光の色を結んだ線で囲まれた領域だと思います。

wwwaaabox
質問者

お礼

>RGBの3原色で表せる色は現実に存在する色の一部分であり、その範囲を外れる色をRGBにあてはめるならば負の値が生じます。 ではXYZから直接、色を表すにはどうずればいいのでしょうか?  実はXYZからカラー画像を作りたいと思っているのですが、XYZからRGBやsRGB,adobeRGBなどへ変換してカラー画像を表示する手段しか思いつきません。何かご存知でしょうか?