1
我試圖用相同的感知亮度生成RGB顏色。如何計算具有相同感知亮度的RGB值
函數R * 0.2126 + G * 0.7152 + B * 0.0722被稱爲計算給定RGB顏色的感知亮度(或等效灰度顏色)。
假設我們使用區間[0,1]的所有RGB值,我們可以計算出以下:
- 黃色= RGB(1,1,0)=>亮度= 0.9278
- 藍色= RGB(0,0,1)=>亮度= 0.0722
所以,爲了使黃色的色調與藍色一樣暗淡,我可以簡單地對每個RGB執行這種簡單的計算組件:
- dim_yellow =黃色* 0.0722/0.9278
但是,這樣做相反的事時,因而「縮放」向上藍色到相同的感知亮度爲原始黃色,B成分明顯超過1,這無法顯示在電腦屏幕上。
我想從多餘的B組件中缺失的亮度可以「重新分配」到R和G組件,僞造更亮的藍色。那麼計算這些最終RGB值的最佳一般方法是什麼?
我知道HSL和HSV,但他們沒有做什麼你建議。具有完全飽和度和值的藍色色調仍然會看起來是「更暗」或「更暗淡」,然後是具有完全飽和度和值的黃色色調。所以你的答案不能解決我的問題 – Askaga
你是否嘗試過像CIELAB這樣的非線性空間? –