2016-07-28 12 views
1

色温度をJava(HTML5キャンバス)で変更する機能を実装しようとしています。私の研究から、私は、これを行う最良の方法は、RGBをLABに変換し、次にLABからB成分を調整することであると結論づけました(A→Tint & B→温度)温度をLAB色空間に調整します。

しかし、度はKelvin to an RGB valueに変換されます。だから私は私の必要なコンポーネントの両方を持っています。画像データと私の温度。

私のアプローチは、すべてのピクセルをLABに変換し、温度RGBもLABに変換し、それらの値を補間することでした。私はこれが正しいアプローチであるかどうかわかりません。

または、ケルビン度に基づいて画像に温度を適用する方が良いでしょうか?

+0

私はRGBの調整を作るための方法を見つけるだろう。実際の調整を少し複雑にしたとしても、調整を少し簡単にするためにすべての変換を避けるのははるかに簡単です... – dandavis

答えて

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