Làm cách nào để tính nhiệt độ màu của nguồn sáng chiếu sáng hình ảnh?


14

Làm cách nào tôi có thể tính được nhiệt độ màu (tương đương thân đen) của nguồn sáng chiếu sáng một hình ảnh nhất định? Dưới đây là ảnh chụp màn hình của Adobe Lightroom thao túng nhiệt độ màu và sự thay đổi trong Biểu đồ RGB. Với các thành phần RGB của hình ảnh, làm thế nào để tôi tính toán nó? Tôi nên mong đợi một giá trị duy nhất - Nhiệt độ tương đương thân màu đen của nguồn chiếu sáng, phải không?

4600K 23810K


Tôi không chắc điều đó có ý nghĩa. Nhiệt độ màu là một đặc tính của ánh sáng, giống như đèn được sử dụng để chiếu sáng cảnh trong khi hình ảnh được chụp. Tôi không biết nếu hình ảnh có nhiệt độ màu. Giống như, nhiệt độ màu của hình ảnh màu xanh lá cây là gì? Màu xanh lá cây thậm chí không có trong phổ đen. Có phải nó được tạo ra bởi một vật thể màu xanh đậm được chiếu sáng bởi một nguồn nhiệt độ cao, hoặc một vật thể màu lục nhạt được chiếu sáng bởi một nguồn nhiệt độ thấp?
endolith

Phần cuối cùng của câu hỏi của tôi - "Tôi nên mong đợi một giá trị duy nhất - Nhiệt độ tương đương thân màu đen của nguồn chiếu sáng, phải không?" Tôi đã không rõ ràng? Nếu vậy, xin vui lòng đề nghị chỉnh sửa. Nếu bạn có một bề mặt màu xanh lá cây, nó sẽ trông khác nhau tùy thuộc vào nguồn chiếu sáng. Tôi đang cố gắng xem màu xanh lá cây và tính nhiệt độ (tương đương thân đen) của nguồn chiếu sáng - Làm thế nào để Photoshop và Light Room làm điều đó?. Ngay cả một đối tượng màu xanh lá cây đơn giản sẽ không xuất hiện dưới dạng - # 00FF00 (rgb hex).
Chúa ơi.

@endolith - Tôi đã thực hiện một số thay đổi. Bạn có nghĩ rằng câu hỏi bây giờ rõ ràng hơn?
Chúa ơi.

Ok, điều đó có ý nghĩa hơn, nhưng tôi vẫn không chắc là nó có thể. Không thể hai màu xanh lục được chiếu sáng bởi các nguồn nhiệt độ màu khác nhau tạo ra hình ảnh đầu ra giống hệt nhau? Vậy làm thế nào bạn có thể cho biết nhiệt độ màu của chất phát sáng mà không cần biết các thuộc tính của vật thể và máy ảnh?
endolith

@endolith - Có thể không? Tôi không chắc. Tôi nghĩ rằng nó có thể. Máy ảnh đã được xây dựng trong điều khiển cân bằng trắng. Nhưng hầu hết các hình ảnh có nhiều sắc thái và điều này dường như được phân tích bằng biểu đồ - một cách ngẫu nhiên. Vì vậy, có thể có một khoảng tin cậy ở nhiệt độ cụ thể. Bên cạnh đó, máy ảnh và hình ảnh cũng có một số dữ liệu meta. Tôi có cảm giác rằng phương trình cho điều này là ổ đĩa chuyên gia - ai đó (chuyên gia) đã hiệu chỉnh nó để đưa ra một con số. Giống như * C hoặc * F - Ai quyết định rằng điểm đóng băng của nước sẽ được đặt thành 0 * C hoặc 32 * F?
Chúa ơi.

Câu trả lời:


10

Bài viết này (tải xuống pdf) đưa ra các công thức sau đây để tính Nhiệt độ màu tương quan (CCT). Họ không nói rõ ràng (hoặc tôi đã bỏ lỡ nó), nhưng ví dụ của họ khiến tôi suy luận rằng họ đang giả sử các giá trị RGB trong khoảng 0-255.

1. Chuyển đổi các giá trị RGB thành giá trị tristimulus CIE (XYZ) như sau:

X= =(-0.14282)(R)+(1.54924)(G)+(-0,95641)(B)
Y= =(-0,32466)(R)+(1.57837)(G)+(-0,73191)(B)= =TôitôitôibạnmTôinmộtnce
Z= =(-0,68202)(R)+(0,77073)(G)+(0,5632)(B)

2. Tính toán các giá trị sắc độ chuẩn hóa:

x= =X/(X+Y+Z)
y= =Y/(X+Y+Z)

3. Tính giá trị CCT từ:

CCT= =449n3+3525n2+6823.3n+5520,33,33

Ở đâu n= =(x-0,3320)/(0,1858-y)

Mà có thể được kết hợp để tạo thành phương trình sau đây:

CCT= =449n3+3525n2+6823.3n+5520,33,33
Ở đâu n= =((0,23881)R+(0.25499)G+(-0,58291)B)/((0.11109)R+(-0,85406)G+(0,52289)B)

Tôi không chắc chắn về việc áp dụng điều này cho một hình ảnh, nhưng nếu bạn chỉ muốn một con số duy nhất, khái quát hóa, hơn bạn có thể sử dụng một số loại trung bình? Tìm giá trị RGB "trung bình" chấp nhận được cho hình ảnh (ví dụ: centroid) và sử dụng giá trị đó để tính nhiệt độ hoặc (tùy chọn đắt hơn nhiều về mặt tính toán) tính nhiệt độ cho từng pixel trong ảnh và lấy trung bình của các kết quả đó .

Ngoài ra, hãy nhớ rằng CCT chỉ là một số liệu gần đúng cho hầu hết các màu, vì chỉ một đường cong duy nhất trong không gian màu thực sự đại diện cho màu sắc có thể thu được từ bộ tản nhiệt cơ thể màu đen trong thế giới thực. Do đó, đối với tất cả các màu khác, nhiệt độ màu được tính toán chỉ đơn giản là xấp xỉ nhiệt độ cơ thể màu đen mà nó thể hiện gần nhất. Do đó, đối với một số màu (đặc biệt là màu xanh lá cây), nó thực sự có thể là một giá trị hơi vô nghĩa, ít nhất là theo nghĩa vật lý. Điều này được minh họa tốt trong hình ảnh sau đây (từ bài viết trên wikipedia về nhiệt độ màu ).

Đường màu đen trong hình ảnh đại diện cho Planckian Locus của màu sắc thực sự có thể được tạo ra bởi bức xạ cơ thể khối. Các đường chéo nhỏ hơn đại diện cho các đường đẳng nhiệt của xấp xỉ CCT gần đó.

Ngoài ra, vì câu hỏi của bạn đặc biệt tham khảo Adobe Lightroom, tôi đã tìm thấy điều này trong khi tìm kiếm xung quanh:

Các thanh trượt [trong Adobe Lightroom] điều chỉnh không phải là nhiệt độ cơ thể màu đen của ánh sáng, mà là bù cho áp dụng cho hình ảnh để bù cho nhiệt độ cơ thể màu đen của ánh sáng. Điều này đi theo cách khác vòng.

Vì vậy, hãy nhớ rằng nhiệt độ màu bạn nhìn thấy trên thanh trượt Lightroom sẽ không giống như nhiệt độ được tính từ các công thức trên.


Xin lưu ý rằng biến đổi RGB-XYZ được sử dụng ở trên dường như là đặc trưng cho không gian màu được sử dụng bởi một phần cứng nhất định. Điều này chắc chắn là không chính xác đối với sRGB, đây là điều có lẽ được sử dụng nhiều nhất trong trường hợp của OP. Tham khảo các biến đổi chính xác trong tiêu chuẩn sRGB
awdz9nld

Cũng lưu ý rằng thành phần Y trong CIE 1931 biểu thị độ chói, trái ngược với độ rọi
awdz9nld

0

Tôi đã tính toán một số màu theo công thức của bạn và như tôi thấy trong một số trường hợp nó hoạt động, trong khi trong một số trường hợp khác - chẳng hạn như màu đỏ (255 0 0) và màu xanh lam (0 0 255) - nó trả lời sai:

  • trắng (255 255 255): n = 0,4049, CCT = 8890,77 K -> dường như là chính xác
  • màu vàng (255 255 0): n = -0.6646, CCT = 2410,65 K -> dường như là chính xác
  • màu xanh lá cây (0 255 0): n = -0,2986, CCT = 3785,42 K -> dường như là chính xác
  • cyan (0 255 255): n = 0.9902, CCT = 16168.7 K -> dường như là chính xác
  • magenta (255 0 255): n = -0.5428, CCT = 2783.54 K -> dường như là chính xác

Tuy nhiên:

  • đỏ (255 0 0): n = 2.1497, CCT = 40938.6 K -> dường như sai

  • màu xanh lam (0 0 255): n = -1.1148, CCT = 1672,45 K -> dường như sai

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.