Theo hai nguồn tôi tìm thấy, trong không gian màu CIELAB LAB, giá trị L * = 0 tương ứng với màu đen. Trích dẫn Wikipedia :
Ba tọa độ của CIELAB đại diện cho độ sáng của màu (L * = 0 mang lại màu đen và L * = 100 biểu thị màu trắng khuếch tán ...)
và trích dẫn Phil Cruse :
Trục L * đại diện cho Độ sáng. Đây là chiều dọc; từ 0, không có độ sáng (tức là màu đen tuyệt đối) ...
Tuy nhiên, điều này dường như không phải là trường hợp. Ví dụ: sử dụng L * = 0, a * = 127, b * = 0 người ta thu được trong Mathicala:
FullForm[ColorConvert[LABColor[0, 1.27, 0], "RGB"]]
(*RGBColor[0.46364605275068677, 0., 0.052627307663056185]*)
... không phải màu đen.
Đây dường như không phải là một lỗi Mathicala, vì nó cũng được sao chép (ít nhất là một vài hình ghép sig, ít nhất) trong Julia bằng cách sử dụng Color.jl
gói:
convert(RGB, LAB(0,127,0))
# RGB{Float64}(0.46778684693714695,0.0,0.04112312700274846)
Tương tự như vậy, trực quan hóa khối màu của Không gian màu LAB nằm trong Neat Examples
phần của trang tài liệu Mathicala cho LABColor
. Đây là, với mặt L * = 0 của bề mặt hướng về phía máy ảnh:
Ngoại trừ khối lập phương ở góc, phần lớn các khối được quyết định không có màu đen. Vì vậy, câu hỏi của tôi là:
- Tại sao cài đặt L * = 0 không nhất thiết phải tương ứng với màu đen trong không gian màu CIELAB? Không phải L * được cho là tương ứng với độ sáng nhận thức? Nếu vậy, tại sao một số phần của không gian con L * = 0 xuất hiện sáng hơn đáng kể so với màu đen?
LAB(0,127,0)
không tồn tại trong không gian RGB và do đó chuyển đổi dẫn đến các lỗi số khiến nó xuất hiện không phải màu đen?
Manipulate[ ArrayPlot@ Table[LABColor[l, a, b], {a, -1, 1, .05}, {b, -1, 1, .05}], {{l, 0}, -1, 2} ]