HSV顏色模型
轉自百度百科:http://baike.baidu.com/view/541362.htm#sub8445478
HSV(Hue, Saturation, Value)是根據顏色的直觀特性由A. R. Smith在1978年建立的一種顏色空間, 也稱六角錐體模型(Hexcone Model)。
這個模型中顏色的引數分別是:色調(H),飽和度(S),亮度(V)。
色調H:用角度度量,取值範圍為0°~360°,從紅色開始按逆時針方向計算,紅色為0°,綠色為120°,藍色為240°。它們的補色是:黃色為60°,青色為180°,品紅為300°;
飽和度S:取值範圍為0.0~1.0;
亮度V:取值範圍為0.0(黑色)~1.0(白色)。
RGB和CMY顏色模型都是面向硬體的,而HSV(Hue Saturation Value)顏色模型是面向使用者的。
HSV模型的三維表示從RGB立方體演化而來。設想從RGB沿立方體對角線的白色頂點向黑色頂點觀察,就可以看到立方體的六邊形外形。六邊形邊界表示色彩,水平軸表示純度,明度沿垂直軸測量。
HSV六稜錐
H參數列示色彩資訊,即所處的光譜顏色的位置。該引數用一角度量來表示,紅、綠、藍分別純度S為一比例值,範圍從0到1,它表示成所選顏色的純度和該顏色最大的純度之間的比率。S=0時,只有灰
V表示色彩的明亮程度,範圍從0到1。有一點要注意:它和光強度之間並沒有直接的聯絡。
RGB轉化到HSV的演算法
max=max(R,G,B):
min=min(R,G,B)
V=max(R,G,B)
S=(max-min)/max:
ifG = max,H = 120+(B-R)/(max-min)* 60
ifB = max,H = 240 +(R-G)/(max-min)* 60
ifH < 0,H = H+ 360
HSV轉化到RGB的演算法
if s = 0
R=G=B=V
else
H /= 60;
i = INTEGER(H)
f = H - i
a = V * ( 1 - s )
b = V * ( 1 - s * f )
c = V * ( 1 - s * (1 - f ) )
switch(i)
case 0: R = V; G = c; B = a;
case 1: R = b; G = v; B = a;
case 2: R = a; G = v; B = c;
case 3: R = a; G = b; B = v;
case 4: R = c; G = a; B = v;
case 5: R = v; G = a; B = b;
HSV對使用者來說是一種直觀的顏色模型。我們可以從一種純色彩開始,即指定色彩角H,並讓V=S=1,然後我們可以通過向其中加入黑色和白色來得到我們需要的顏色。增加黑色可以減小V而S不變,同樣增加白色可以減小S而V不變。例如,要得到深藍色,V=0.4 S=1 H=240度。要得到淡藍色,V=1 S=0.4 H=240度。
一般說來,人眼最大能區分128種不同的色彩,130種色飽和度,23種明暗度。如果我們用16Bit表示HSV的話,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以滿足我們的需要了。
由於HSV是一種比較直觀的顏色模型,所以在許多影象編輯工具中應用比較廣泛,如Photoshop(在Photoshop中叫HSB)等等,但這也決定了它不適合使用在光照模型中,許多光線混合運算、光強運算等都無法直接使用HSV來實現。
順便提一下,另外一種直觀顏色模型是HSL模型,該模型中前兩個引數和HSV一樣,而L表示亮度。它的三維表示為一雙稜錐。
HSL 與 HSV 的比較
HSL 類似於 HSV。對於一些人,HSL 更好的反映了“飽和度”和“亮度”作為兩個獨立引數的直覺觀念,但是對於另一些人,它的飽和度定義是錯誤的,因為非常柔和的幾乎白色的顏色在 HSL 可以被定義為是完全飽和的。對於 HSV 還是 HSL 更適合於人類使用者介面是有爭議的。
-
在 HSL 中,飽和度分量總是從完全飽和色變化到等價的灰色(在 HSV 中,在極大值 V 的時候,飽和度從全飽和色變化到白色,這可以被認為是反直覺的)。
-
在 HSL 中,亮度跨越從黑色過選擇的色相到白色的完整範圍(在 HSV 中,V 分量只走一半行程,從黑到選擇的色相)。
相關文章
- 前端需要了解的顏色模型,RGB、HSL和HSV前端模型
- HSV顏色空間下的圖片相似性計算(python版)Python
- [SVG]修改固定顏色為填充顏色SVG
- HTML 顏色HTML
- css顏色CSS
- 設定toast的字型顏色和背景顏色AST
- 顏色轉換
- 更改placeholder顏色
- CSS顏色表示CSS
- VC 對話方塊背景顏色、控制元件顏色控制元件
- excel填充顏色快捷鍵 表格快速填充顏色快捷鍵Excel
- CSS樣式中顏色與顏色值的應用CSS
- CSS顏色程式碼CSS
- CSS 顏色與字型CSS
- 樹上數顏色
- css 更改svg顏色CSSSVG
- YUV顏色詳解
- Matplotlib顏色對照表
- Halcon顏色識別
- pycharm print 加顏色PyCharm
- 修改Android 介面顏色Android
- AUTOCAD——設定顏色
- cad填充顏色怎麼操作 CAD如何給圖形填充顏色
- JavaScript 十六進位制顏色和RGB顏色值的相互轉換JavaScript
- XMind怎麼更改線條顏色?XMind更改線條顏色的方法
- svg圖片 填充顏色SVG
- HTML <meter> 顏色規則HTML
- ProgressBar進度條顏色
- sass的顏色函式函式
- CSS 顏色值型別CSS型別
- SAP: ALV GRID行顏色
- 75.顏色分類
- SCSS 顏色值運算CSS
- WebGL 紋理顏色原理Web
- [譯]顏色比例尺
- ffmpeg修改顏色空間
- JavaScript WebGL 設定顏色JavaScriptWeb
- CAD如何設定顏色
- 實現隨機顏色隨機