Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuyển đổi hệ màu với module colorsys trong Python

Module colorsys chuyển đổi giá trị màu giữa các mô hình màu: RGB, YIQ, HLS, HSV.

Các mô hình màu

  • RGB: Red, Green, Blue (0-1) - màn hình, TV
  • YIQ: Luminance, Chrominance (Y: 0-1, I/Q: âm/dương) - video composite
  • HLS: Hue, Luminance, Saturation (0-1)
  • HSV: Hue, Saturation, Value (0-1)

Các hàm chuyển đổi

rgb_to_yiq(r, g, b)RGB → YIQ
yiq_to_rgb(y, i, q)YIQ → RGB
rgb_to_hls(r, g, b)RGB → HLS
hls_to_rgb(h, l, s)HLS → RGB
rgb_to_hsv(r, g, b)RGB → HSV
hsv_to_rgb(h, s, v)HSV → RGB

Ví dụ

import colorsys

r, g, b = 1.0, 0.753, 0.80

print("RGB → HLS:", colorsys.rgb_to_hls(r, g, b))
# (0.9682860998650472, 0.8765, 1.0)

print("RGB → HSV:", colorsys.rgb_to_hsv(r, g, b))
# (0.9682860998650472, 0.247, 1.0)

print("RGB → YIQ:", colorsys.rgb_to_yiq(r, g, b))
# (0.83227, 0.1328331, 0.0672797)

Ứng dụng thực tế

  • Xử lý ảnh: điều chỉnh độ bão hòa, độ sáng, hue
  • Computer vision: phân đoạn màu trong không gian HSV
  • UI/UX: tạo palette màu hài hòa
  • Game dev: hiệu ứng màu động

Lưu ý

Tất cả giá trị đầu vào/ra đều trong khoảng [0, 1]. Khi làm việc với giá trị 0-255, cần chia/nhân 255.