colorsys --- 色体系間の変換

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


colorsys モジュールは、コンピュータのモニターで使われる RGB (Red Green Blue: 赤・緑・青) 色空間と、他の三つの座標系である YIQ、HLS (Hue Lightness Saturation: 色相・明度・彩度)、HSV (Hue Saturation Value: 色相・彩度・明度) との間で、色の値を双方向に変換する関数を定義しています。 これらの色空間の座標はすべて浮動小数点数です。 YIQ 空間では、Y 座標は 0 から 1 の範囲ですが、I 座標と Q 座標は正にも負にもなります。 それ以外の空間では、すべての座標が 0 から 1 の範囲です。

参考

色空間について詳しくは、https://www.poynton.ca/pdf/ColourFAQ.pdf および https://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)