我正在尝试在javascript(HTML5画布)中实现色温更改功能。根据我的研究,我得出结论,最好的方法是将RGB转换为LAB,然后从LAB调整B组分(A - > Tint& B - > Temperature)
但是,我还实现了一个转换度Kelvin to an RGB value的代码。所以我有我需要的两个组件;图像数据和我的温度。
我的方法是将每个像素转换为LAB,将温度RGB也转换为LAB,并在这些值之间进行插值。我只是不知道这是否是正确的方法。
或者是否有一种更好的方法可以根据某种程度的开尔文对图像施加温度?
答案 0 :(得分:1)
进行更多研究我遇到了这种算法,它可以在不进行任何颜色转换的情况下进行温度调节。
//code from http://www.tannerhelland.com/5675/simple-algorithms-adjusting-image-temperature-tint/
//Given a temperature adjustment on the range -100 to 100,
//apply the following adjustment to each pixel in the image:
r = r + adjustmentValue
g = g
b = b - adjustmentValue
//Given a tint adjustment on the range -100 to 100,
//apply the following adjustment to each pixel in the image:
r = r
g = g + adjustmentValue
b = b