從 RGB 到 HSV 的轉換詳細介紹

2021-09-24 19:07:47 字數 1376 閱讀 3944

從rgb 到 hsv 的轉換詳細介紹

1.rgb

rgb是從顏色發光的原理來設計定的,通俗點說它的顏色混合方式就好像有紅、綠、藍三盞燈,當它們的光相互疊合的時候,色彩相混,而亮度卻等於兩者亮度之總和,越混合亮度越高,即加法混合。

紅、綠、藍三個顏色通道每種色各分為256階亮度,在0時「燈」最弱——是關掉的,而在255時「燈」最亮。當三色灰度數值相同時,產生不同灰度值的灰色調,即三色灰度都為0時,是最暗的黑色調;三色灰度都為255時,是最亮的白色調。

在電腦中,rgb的所謂「多少」就是指亮度,並使用整數來表示。通常情況下,rgb各有256級亮度,用數字表示為從0、1、2...直到255。注意雖然數字最高是255,但0也是數值之一,因此共256級。

圖1.1 rgb

2.hsv

色調h用角度度量,取值範圍為0°~360°,從紅色開始按逆時針方向計算,紅色為0°,綠色為120°,藍色為240°。它們的補色是:黃色為60°,青色為180°,品紅為300°;

飽和度s

飽和度s表示顏色接近光譜色的程度。一種顏色,可以看成是某種光譜色與白色混合的結果。其中光譜色所佔的比例愈大,顏色接近光譜色的程度就愈高,顏色的飽和度也就愈高。飽和度高,顏色則深而豔。光譜色的白光成分為0,飽和度達到最高。通常取值範圍為0%~100%,值越大,顏色越飽和。

明度v明度表示顏色明亮的程度,對於光源色,明度值與發光體的光亮度有關;對於物體色,此值和物體的透射比或反射比有關。通常取值範圍為0%(黑)到100%(白)。

圖2.1 hsv

2.1應用opencv中hsv取值範圍說明

我們需要注意的在不同應用場景中,hsv取值範圍是不盡相同的。

1.ps軟體時,h取值範圍是0-360,s取值範圍是(0%-100%),v取值範圍是(0%-100%)。

2.利用opencv中cvsplit函式的在選擇影象ipl_depth_32f型別時,h取值範圍是0-360,s取值範圍是0-1(0%-100%),v取值範圍是0-1(0%-100%)。

3.利用opencv中cvsplit函式的在選擇影象ipl_depth_8uc型別時,h取值範圍是0-180,s取值範圍是0-255,v取值範圍是0-255。

3.rgb轉hsv

3.1公式

RGB到HSV顏色空間的轉換

opencv預設讀取影象是rgb通道,現需要轉化到hsv hue,saturation,value 顏色空間,opencv提供cvtcolor c void cvtcolor inputarray src,outputarray dst,int code,int dstcn 0 函式對顏色空間進行轉...

RGB與HSV的深層理解 詳細

最近準備研究計算機視覺領域,那麼處理和人臉識別是其中乙個模組,今天在學習opencv的時候,了解了乙個新的模型hsv顏色模型,他與rng色彩模型是一樣的東西,之前了解一些rgb顏色模型,但是我覺得自己沒有完全真正明白rgb到底是怎樣決定顏色的變化的,包括什麼是hsv。深層理解rgb 什麼是hsv 灰...

從RGB到Lab色彩空間的轉換

從rgb 到lab 色彩空間的轉換,色彩模型除了最常見的 rgb以外,故人們一般也只能找到 xyz和 lab之間的轉換,而 rgb到 lab的轉換只能使用 xyz作為中間模式間接進行,我們可以先觀察 rgb到 xyz的轉換 rgb是經過 gamma 校正的色彩分量 r g r 其中rgb 為原始的色...