HSV顏色空間

2021-06-21 09:28:58 字數 1386 閱讀 3470

**:

h引數表示色彩資訊,即所處的光譜顏色的位置。該引數用一角度量來表示,紅、綠、藍分別相隔120度。互補色分別相差180度。

純度s為一比例值,範圍從0到1,它表示成所選顏色的純度和該顏色最大的純度之間的比率。s=0時,只有灰度。

v表示色彩的明亮程度,範圍從0到1。有一點要注意:它和光強度之間並沒有直接的聯絡。

rgb轉化到hsv的演算法:

max=max(r,g,b) 

min=min(r,g,b) 

if r = max, h = (g-b)/(max-min) 

if g = max, h = 2 + (b-r)/(max-min) 

if b = max, h = 4 + (r-g)/(max-min) 

h = h * 60 

if h < 0, h = h + 360 

v=max(r,g,b) 

s=(max-min)/max

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來實現。

HSV顏色空間

hsv hue,saturation,value 是根據顏色的直觀特性由a.r.smith在1978年建立的一種顏色空間,也稱六角錐體模型 hexcone model 這個模型中顏色的引數分別是 色調 h 飽和度 s 亮度 v hsv顏色空間模型 1 色調h 用角度度量,取值範圍為0 360 從紅色...

HSV顏色空間

hsv hue,saturation,value 顏色空間的模型對應於圓柱座標系中的乙個圓錐形子集,圓錐的頂面對應於v 1。它包含rgb模型中的 r 1,g 1,b 1三個面,所代表的顏色較亮。色彩h由繞v軸的旋轉角給定。紅色對應於角度0 綠色對應於角度120 藍色對應於角度240 在hsv顏色模型...

HSV顏色空間

hsv hue,saturation,value 是根據顏色的直觀特性由a.r.smith在1978年建立的一種顏色空間,也稱六角錐體模型 hexcone model 這個模型中顏色的引數分別是 色調 h 飽和度 s 亮度 v hsv顏色空間模型 1 色調h 用角度度量,取值範圍為0 360 從紅色...