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.