당신은 이미 각 색상 온도 RGB 등가물의 테이블을 발견했지만, 내가 내 자신을 발견 어디 말을하지 않았다 http://www.vendian.org/mncharity/dir3/blackbody/이
자연 장면 비례하여 빛의 색에 빛을 반사를 그 그것을 공격합니다. 이것은 간단한 선형 변환이 원하는 효과를 만들어 내야 함을 의미합니다. 기존 이미지가 이미 흰색 균형을 이루어 순수한 흰색이 (255,255,255)라고 가정하면 각 픽셀의 r, g, b 값에 색온도에 해당하는 비율을 곱하면됩니다.
다음은 Python의 샘플 코드입니다. 곱셈은 행렬을 사용하여 간접적으로 수행됩니다.
from PIL import Image
kelvin_table = {
1000: (255,56,0),
1500: (255,109,0),
2000: (255,137,18),
2500: (255,161,72),
3000: (255,180,107),
3500: (255,196,137),
4000: (255,209,163),
4500: (255,219,186),
5000: (255,228,206),
5500: (255,236,224),
6000: (255,243,239),
6500: (255,249,253),
7000: (245,243,255),
7500: (235,238,255),
8000: (227,233,255),
8500: (220,229,255),
9000: (214,225,255),
9500: (208,222,255),
10000: (204,219,255)}
def convert_temp(image, temp):
r, g, b = kelvin_table[temp]
matrix = (r/255.0, 0.0, 0.0, 0.0,
0.0, g/255.0, 0.0, 0.0,
0.0, 0.0, b/255.0, 0.0)
return image.convert('RGB', matrix)
다음은 몇 가지 샘플입니다. 첫 번째는 원본이며 그 다음에 2500K와 9500K의 출력이 이어집니다.
대답 주셔서 감사합니다. 나는 html을 포함하는 실수를했다고 생각합니다. "여기"라고 말하는 사람이 있어야합니다 :) –