OpenCV中HSV顏色模型及顏色分量範圍

2021-10-03 04:41:18 字數 2131 閱讀 4036

hsv顏色模型

hsv(hue, saturation, value)是根據顏色的直觀特性由a. r. smith在2023年建立的一種顏色空間, 也稱六角錐體模型(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顏色分量範圍

一般對顏色空間的影象進行有效處理都是在hsv空間進行的,然後對於基本色中對應的hsv分量需要給定乙個嚴格的範圍,下面是通過實驗計算的模糊範圍(準確的範圍在網上都沒有給出)。

h: 0— 180

s: 0— 255

v: 0— 255

此處把部分紅色歸為紫色範圍:

hsv六稜錐

h引數表示色彩資訊,即所處的光譜顏色的位置。該引數用一角度量來表示,紅、綠、藍分別純度s為一比例值,範圍從0到1,它表示成所選顏色的純度和該顏色最大的純度之間的比率。s=0時,只有灰度。相隔120度。互補色分別相差180度。

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

1、rgb轉化到hsv的演算法:

max=max(r,g,b)

min=min(r,g,b)

v=max(r,g,b)

s=(max-min)/max

ifr = max,h =(g-b)/(max-min)* 60

ifg = max,h = 120+(b-r)/(max-min)* 60

ifb = max,h = 240 +(r-g)/(max-min)* 60

ifh < 0,h = h+ 360

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

OpenCV中HSV顏色空間

opencv中實現bgr顏色空間想hsv顏色空間轉換的是cvcvtcolor h通道的值範圍為 0 180 s 0 255 v 0 255 後來發現了 cv bgr2hsv full cv bgr2hsv 在轉換影象的時候是將 h 2 h 我們知道影象中色相h的取值範圍為 0 360 所以利用ope...

HSV顏色模型

hsv是指hue 色相 saturation 飽和度 和value 亮度 色調 或 明度 hsv模型的三維表示從rgb立方體演化而來。設想從rgb沿立方體對角線的白色頂點向黑色頂點觀察,就可以看到立方體的六邊形外形。六邊形邊界表示色彩,水平軸表示純度,明度沿垂直軸測量。hsv六稜錐 h引數表示色彩資...

HSV顏色模型

hsv顏色模型 h 色調 0 360 決定顯示什麼顏色 s 飽和度 0.0 1.0 v 亮度 0 1 圓錐的頂面中心處 s 0,v 1,h無定義,代表白色。在圓錐的頂點 即原點 處,v 0,h和s無定義,代表黑色。在圓錐頂面的圓周上的顏色,v 1,s 1,這種顏色是純色。色調h 用角度度量,取值範圍...