色温度(K)をRGB値に変換
MayaのVray PhysicalCameraにあるWhiteBallance(ホワイトバランス)がRGB指定だったので
変換できないかなーと思ってたら
解説サイトがあった!!!
http://www.tannerhelland.com/4435/convert-temperature-rgb-algorithm-code/
ありがとうございます!!!!
アルゴリズムをそのままに、日本語メモ添えたものにした。
K(ケルビン) → RGB 変換、最後にPrint出力。
自分用メモ。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### VrayPhysicalCameraのホワイトバランスをケルビン(K)で指定する | |
# | |
# | |
# dekapoppo 2018.1.19 v0.1 | |
# 2019.11.19 v0.2 入力をわかりやすく | |
# Thanks for http://www.tannerhelland.com/4435/convert-temperature-rgb-algorithm-code/ | |
# | |
# | |
import math | |
##==これだけ入力== | |
K = 6500 | |
##============= | |
temp = K/100.0 | |
red = 0.0 | |
green = 0.0 | |
blue = 0.0 | |
if temp<=66: | |
red = 255 | |
green = temp | |
green = 99.4708025861 * math.log(green) - 161.1195681661 | |
if temp <= 19: | |
blue = 0 | |
else: | |
blue = temp-10 | |
blue = 138.5177312231 * math.log(blue) - 305.0447927307 | |
else: | |
red = temp -60 | |
red = red = 329.698727446 * math.pow(red, -0.1332047592) | |
green = temp - 60 | |
green = 288.1221695283 * math.pow(green, -0.0755148492 ) | |
blue = 255 | |
print (str(red)+" , "+str(green)+" , "+str(blue)) |
0 コメント:
コメントを投稿