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)