ホーム ] 実行例 ] 処理速度 ] 画像処理メソッド構造 ] 技術解説 ]

上へ
高速化
色空間変換
画像色変換処理
画像濃度変換処理
空間フィルタ
非線形フィルタ
機能フィルタ

技術解説

色空間変換

最終更新日:2007/04/26 新規

●概要

 色空間は沢山の種類があるが、普通の人が普通に有用な色空間は、RGB、YCC、HSL 位で、他はまず使うことはないと思う。ライブラリではそれら三者の相互変換を提供している。

●色空間

 コンピュータではRGB空間が使用されている。これは、歴史的な背景から来ている。CRTディスプレイの構造・原理が、RGB三原色だったかららしい。当初は、RGB三原色の周波数帯域や刺激に関する理論はなく、感覚で決められたらしい。

 1600万色とかいわれているが、自然としては無限色あり、その一部をRGBで切り取っているに過ぎない。また、色の感じ方は人間系で個人差があり、数値として特定できない。今の技術では、基本的に表示系、印刷系では発色方法が原理的に異なり、これらを全く同じ空間として処理ができないし、完全に再現は不能である。また、カラー写真が実物と同じように見えることはないので、色合わせは、全く個人の主観の所作で、正解はない。オーディオのドツボに似ている。深いのではなく、迷路なのである。

●RGB

 取りあえず、一般には、それぞれ256階調あり、1600万色となっている。これは、コンピュータ側の都合でそうなっているだけで、自然界が1600万色でできている訳ではない。通常は、それぞれに、1バイトで構成する。基本となる空間である。

 RGBは、表示するには良いが、RGB値から色を想像するのは困難である。人間の感性とは異なる方式だからである。

●HSL

○解説

 人間が分かりやすい方式で、かつ、機械的に一定の系統の色を生成できる方式である。Winのカラーシステムとしても採用されている。

  • H:Hue 色相と言い、純色の赤を基準として、それからどれくらい離れているかを角度であらわす。
  • S:Satulation 彩度と言い、鮮やかさの度合いを示す。0 で無彩色、1が最も鮮やか。
  • L:Luminance 明度と言い、色の明るさの度合いを示す。0 で黒、1が白。0.5が中間。この明るさは、人間の感性と無関係に機械的に決められた値である。


HSL空間

○特徴

  • HSLでは、S=1、L=0.5 が純色となり、RGBの中の2成分以下でできた色となる。
  • Hと180度異なる色が補色となる。
  • Hを同じにして、S、L を変化させて色を生成すれば、同系色群が簡単に得られる。
  • H、Sを同じにして、L を変化させて色を生成すれば、ハイライトからシャドウの色列が簡単に得られる。

●YCC

 元々は、カラーTV放送とモノクロTV放送の信号の互換性を維持するためにできた方式である。

○解説

 輝度と色差情報からなる。コダックのフォトCDで採用され、国際標準になっている方式である。輝度は、人間の三原色に対する相対感度を勘案して、

 Y = 0.299 * R + 0.587 * G + 0.114 * B   (0.299 + 0.587 + 0.114 =1)

と算出する。グリーンが最も明るさに寄与し、次に赤となっている。感覚として頷ける。色差情報は、

 C1 = B - Y
 C2 = R - Y

と算出する。無彩色の場合は、ともに0 となる。なぜなら、無彩色では、R=G=B=C(同じ値) なので、

Y = 0.299 * R + 0.587 * G + 0.114 * B
  = 0.299 * C + 0.587 * C + 0.114 * C
   = (0.299 + 0.587 + 0.114 ) * C
   = 1 * C = C

となるからである。

○特徴

 画像の明るさ調整などで、このY を使うと自然な調整ができる。