導航:首頁 > 源碼編譯 > 飽和度調整演算法

飽和度調整演算法

發布時間:2023-08-13 00:48:05

1. ps裡面,顏色的飽和度是怎麼計算出來的

首先你要明白色彩的合成,我們知道任何色光可以由紅綠藍三種色光合成,在ps中用R,G,B表示,它們數值分別為0-255,數值越大表示,亮度越高。例:現在拿一個R,G,B數值舉例,R150,G50,B25。首先分析他的顏色,看到最低值B為25,所以R,G,B分別拿出25混合成白光,(白光由R,G,B,1:1:1混合而成)剩下R125,G25,由色相輪或經驗可知紅光加少量綠光混合橙紅色光,所以R150,G50,B25色光的顏色即為橙紅光混合一些白光的顏色。
1,色相,即給人直接的顏色感受,因為白光無色相,所以經過上面分解可知,R150,G50,B25的色相即為橙紅色。
2,飽和度,由色光其中參雜白光的多少決定,白光佔比越高,飽和度越低,顏色就越不鮮艷,給人發白發灰的感覺。佔比越低,飽和度越高,顏色就越鮮顏,沒有白光,飽和度就達到100%,只有白光,飽和度為0%由上面分解方法可知,當R,G,B其中一個值為0時,即無法合成白光時,飽和度達到100%,在上述例子中,R150,G50,B25,的顏色為橙紅光混合一些白光,因此飽和度小於100%,ps中計算方法為(R,G,B中最大值-R,G,B中最小值)/R,G,B中最大值。
3,明度,即色彩亮度,我們知道,R,G,B的比例決定了一個色彩的顏色(即色相,和飽和度)。拿上述R150,G50,B25例子來說,保證它的比例(即色相和飽和度不變情況下),增加/減小亮度的方法就是,R,G,B同時擴大/縮小,在本例中,由於ps中R,G,B最大數值是255,保證比例不變,達到最大的亮度,即把R150,G50,B25分別乘以1.7,得到R255,G85,B42.5。可以發現在R,G,B中,只要有一個數值達到255時,就達到此色彩最大亮度,ps中亮度計算方法為:R,G,B最大值/255·100%。
補充:色相由最大值和次大值分別減去最小值的比例決定,即除去可合成白光的成分後剩下部分的比例,根據該比例可以確定並用角度表示它在色相環的位置。因此色相實際是一個比值,如R127,G127(暗黃色)R255,G255(亮黃色),他們R:G都是1:1,合成都是黃色光,所以色相都是黃色,(60度)但是發光強度,即亮度不同,造成的視覺效果也不同,如同灰色其實也是白光,只是亮度是白色白光的一半,對比之下,才有了灰色。(夜晚在沒其他光源對比下,你手機顯示灰色圖片和調低手機亮度顯示白色圖片,你區分不出哪個灰哪個白)綜上所述,知道亮度,就知道最大值,知道飽和度,又知道最小值,知道色相,就知道最大值和次大值和最小值分別對應RGB 的哪一個,最後根據色相位置對應的比例確定最大值和次大值分別減去最小值的比例,從而解出RGB的大小。這樣知道一個HSB 就可以唯一解出對應的RGB,確定出一種色彩。
以下是僅改變其中一項數值的方法:
1,僅改變色相:改變次大值,並使其不大於最大值,不小於最小值,使色相在該原色與其他兩原色合成的間色內的60度范圍內變化。之後通過交換原色(rgb)所對應的最大值,次大值,最小值,使色相在360度范圍內轉換。
2,僅改變飽和度:(1)增大飽和度,將r,g,b數值同時減去一個值(減去的值的大小不超過r,g,b中最小的值),然後再將減完後的r,g,b的值同時擴大n倍,使r,g,b中最大的值等於原來r,g,b中最大值。(2)減小飽和度,將r,g,b的值同時縮小n倍,再同時加上一個值,使r,g,b中的最大值等於原來r,g,b中最大值。
3,僅改變明度:r,g,b同時擴大或縮小n倍。

閱讀全文

與飽和度調整演算法相關的資料

熱點內容
安卓怎麼用支付寶交違章罰款 瀏覽:663
php面向對象的程序設計 瀏覽:504
數據挖掘演算法書籍推薦 瀏覽:894
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:274
unsignedintjava 瀏覽:216
編譯器下載地址 瀏覽:42
什麼是面對對象編程 瀏覽:708
b站伺服器什麼時候恢復 瀏覽:721
6p相當於安卓機什麼水準 瀏覽:498
能否給隱藏相冊加密 瀏覽:596
糖心app改什麼名 瀏覽:824
戰地1控伺服器如何部署 瀏覽:395
xp還原系統輸入命令 瀏覽:324
mysql命令行版本 瀏覽:305