모니터의 설정 메뉴를 보면 색온도 (Color Temperature) 설정 부분이 있다. 카메라의 메뉴에서도 찾을 수 있다. 색의 따뜻하고 차가운 정도, 영화/스포츠 등에 적합하게 색을 표현하는 기능이다. 이런 프리셋 값 아래 보면 1000K, 2000K 이와 같은 K라는 단위의 값으로 표시되는 설정값을 볼 수 있는다. 광원의 색을 절대온도를 이용해 숫자로 표시한 것이다. 붉은색 계통의 광원일수록 색온도가 낮고, 푸른색 계통의 광원일수록 색온도가 높다. 온도는 전통적으로 절대 온도 단위인 켈빈(K)을 사용한다. 모니터를 제어하는 IC Chip 또는 Software를 통해 설정할 수 있는데, 하지만, 모니터 (패널, 보드 등)에 따라 다를 수 있어 전문적인 작업을 위해서는 캘리브레이션 장비를 사용하여 환경에 맞는 값을 측정 및 제어한다.
자세한 설명을 할 수준은 안돼 검색을 통해 이론적인 정보는 찾아보시고 프로그래밍 관점에서 보도록 한다.
전문적인 작업을 하지 않는 입장에서 이런 고가의 장비를 사는 것은 부담이다. 그냥 적정한 값을 사용하기 위해서는 켈빈 값에 해당하는 RGB 값을 계산하여 적용하는 방법도 있다. 켈빈 값을 RGB 값으로 계산하는 알고리즘을 사용하는 방법인데 계산하는 방법에 따라 일부 차이가 있다.
여기서는 인터넷 상에서 구할 수 있는 몇 개의 자료를 소개하려 한다.
1) 아래 사이트에서는 계산된 값을 제공한다. 굳이 계산이 필요 없이 하드 코딩하여 사용한다면 아래와 같은 값을 코드에 넣어서 사용하는 것도 좋은 방법이다.
https://andi-siess.de/rgb-to-color-temperature
http://www.vendian.org/mncharity/dir3/blackbody/
2) 아래 사이트에서는 값을 계산하는 소스코드를 제공한다.
https://tannerhelland.com/2012/09/18/convert-temperature-rgb-algorithm-code.html
페이지의 하단을 보면 다양한 프로그래밍 언어로 코팅된 코드를 확인할 수 있다. 고마운 분들의 노고에 감사한 마음을 먼저 표하고 사용하자.
C언어로 변환된 코드도 찾아보면 있을 텐데 찾지 못해 만들었다. 필요하신 분은 사용하시길.
'놀기 > 기초 공부' 카테고리의 다른 글
[Node.js] express.js로 Hello World web server 만들기(왕초보 그냥 따라하기) (0) | 2021.08.08 |
---|---|
[JavaScript] 어제, 오늘, 내일 날짜/시간 계산 (0) | 2021.07.31 |
vim, tab을 space로 변경 & tab size를 4로 변경 (0) | 2021.07.26 |
SPI 통신 정리 (0) | 2021.07.12 |
I2S 통신 정리 (0) | 2021.07.10 |
댓글