22.6. colorsys --- 色体系間の変換

ソースコード: Lib/colorsys.py


colorsys モジュールは、計算機のディスプレイモニタで使われている RGB (Red Green Blue) 色空間で表された色と、他の 3 種類の色座標系: YIQ, HLS (Hue Lightness Saturation: 色相、彩度、飽和) および HSV (Hue Saturation Value: 色相、彩度、明度) との間の双方向の色値変換を定義します。これらの色空間における色座標系は全て浮動小数点数で表されます。 YIQ 空間では、Y 軸は 0 から 1 ですが、 I および Q 軸は正の値も負の値もとり得ます。他の色空間では、各軸は全て 0 から 1 の値をとります。

参考

色空間に関するより詳細な情報は http://www.poynton.com/ColorFAQ.htmlhttps://www.cambridgeincolour.com/tutorials/color-spaces.htm にあります。

colorsys モジュールでは、以下の関数が定義されています:

colorsys.rgb_to_yiq(r, g, b)

RGB から YIQ に変換します。

colorsys.yiq_to_rgb(y, i, q)

YIQ から RGB に変換します。

colorsys.rgb_to_hls(r, g, b)

RGB から HLS に変換します。

colorsys.hls_to_rgb(h, l, s)

HLS から RGB に変換します。

colorsys.rgb_to_hsv(r, g, b)

RGB から HSV に変換します。

colorsys.hsv_to_rgb(h, s, v)

HSV から RGB に変換します。

以下はプログラム例です:

>>> import colorsys
>>> colorsys.rgb_to_hsv(0.2, 0.4, 0.4)
(0.5, 0.5, 0.4)
>>> colorsys.hsv_to_rgb(0.5, 0.5, 0.4)
(0.2, 0.4, 0.4)