Python 中的 colorsys 模組


此模組允許在以內(RGB(紅綠藍))和其他顏色空間中表示的顏色之間進行顏色值雙向轉換。它使用的另外三個顏色空間是 YIQ(亮度 (Y) 同相正交)、HLS(色相亮度飽和度)和 HSV(色相飽和度值)。除了 YIQ 顏色空間中的 I 和 Q 值以外,所有座標都可以介於 0 到 1 之間。

下表顯示了函式及其用途。

函式用途允許值
rgb_to_yiq從 RGB 座標到 YIQ 座標0 到 1
rgb_to_hls從 RGB 座標到 HLS 座標0 到 1
rgb_to_hsv從 RGB 座標到 HSV 座標0 到 1
yiq_to_rgb從 YIQ 座標到 RGB 座標-1 到 1
hls_to_rgb從 HLS 座標到 RGB 座標0 到 1
hsv_to_rgb從 HSV 座標到 RGB 座標0 到 1

示例

import colorsys as csys
# "Electric Blue"
r, g, b = 0.47, 0.91, 1.00
print("The RGB Values for Electric Blue: ", (r, g, b))
#
y, i, q = csys.rgb_to_yiq(r, g, b)
print("YIQ", (y, i, q), "becomes", csys.yiq_to_rgb(y, i, q))
h, s, v = csys.rgb_to_hsv(r, g, b)
print("HSV", (h, s, v), "becomes", csys.hsv_to_rgb(h, s, v))
h, l, s = csys.rgb_to_hls(r, g, b)
print("HLS", (h, l, s), "becomes", csys.hls_to_rgb(h, l, s))

輸出

執行以上程式碼,會得到以下結果

The RGB Values for Electric Blue: (0.47, 0.91, 1.0)
YIQ (0.7879, -0.292513, -0.06563100000000005) becomes (0.47, 0.9100000000000001, 1.0)
HSV (0.5283018867924528, 0.53, 1.0) becomes (0.47, 0.9099999999999999, 1.0)
HLS (0.5283018867924528, 0.735, 1.0) becomes (0.4700000000000001, 0.9099999999999998, 0.9999999999999999)

更新日期:2019-10-17

1K+ 檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.