RGB顏色空間、色調、飽和度、亮度,HSV顏色空間詳解
本文章會詳細的介紹RGB顏色空間與RGB三色中色調、飽和度、亮度之間的關系,最後會介紹HSV顏色空間!
RGB顏色空間
概述
RGB顏色空間以R(Red:紅)、G(Green:綠)、B(Blue:藍)三種基本色為基礎,進行不同程度的疊加,產生豐富而廣泛的顏色,所以俗稱三基色模式。
RGB三原色起源於上世紀初1809年Thomas Young提出視覺的三原色學說,隨後Helmholtz在1824年也提出了三原色學說:即:視網膜存在三種視錐細胞,分別含有對紅、綠、藍三種光線敏感的視色素,當一定波長的光線作用於視網膜時,以一定的比例使三種視錐細胞分別產生不同程度的興奮,這樣的信息傳至大腦中樞,就產生某一種顏色的感覺。
在顯示器發明之後,從黑白顯示器發展到彩色顯示器,人們開始使用發出不同顏色的光的熒光粉(CRT,等離子體顯示器),或者不同顏色的濾色片(LCD),或者不同顏色的半導體發光器件(OLED和LED大型全彩顯示牌)來形成色彩,無一例外的選擇了Red,Green,Blue這3種顏色的發光體作為基本的發光單元。通過控制他們發光強度,組合出了人眼睛能夠感受到的大多數的自然色彩。
優缺點
RGB顏色空間最大的優點就是直觀,容易理解。缺點是R,G,B這3個分量是高度相關的,即如果一個顏色的某一個分量發生了一定程度的改變,那麽這個顏色很可能要發生改變;人眼對於常見的紅綠藍三色的敏感程度是不一樣的,因此RGB顏色空間的均勻性非常差,且兩種顏色之間的知覺差異色差不能表示為該顏色空間中兩點間的距離,但是利用線性或非線性變換,則可以從RGB顏色空間推導出其他的顏色特征空間。
示例
組合方法是通過互補光的形式來組合成任意顏色的。我們可以打開畫圖板,在自定義顏色工具框中,輸入r,g,b值,得到不同的顏色。
紅色 + 綠色 = 黃色
紅色 + 綠色 +藍色 = 白色
RGBA(Alpha)
A用於描述三原色的透明度!
單通道與多通道
單通道:俗稱灰度圖,每個像素點只能有一個值表示顏色,它的像素值在0到255之間,0是黑色,255是白色,中間值是一些不同等級的灰色,可以說灰度是黑與白之間的過渡色! 註意這個值不是RGB裏的任何一個元素,顯示設備是直接通過CRT(彩色陰極射線顯像管)將單通道裏的像素值顯示黑白色圖像,值越高黑色圖越亮,一般灰度值大小不會超過125!
也就是RGB三原色,每個像素點有三個字節來表示(RGB),分別最大取值範圍是0-255,可以組合成千萬種顏色。
圖像處理優勢對比:
單通道往往應用於圖像處理,因為單通道只有一個像素點(一個字節),所以相比多通道三個字節,處理速度上要尤為的快!
而且單通道能將圖像以灰度形式顯示出來,不會影響圖像識別,和特征提取!多通道以原圖的形式將圖像展示出來,所以可以提取特征很多,識別率高!
例如:
多通道也可以組合成灰度圖,上面說過,紅+綠+藍=白色,註意這裏補充一下,只有在三色相等時才會組合成白色!
例如:
想要達到灰度只要將RGB三色調低一點就可以達到!例如:
但是當某一方的值不相同時就會產生其他顏色。
所以三通道想要組合成黑白色(灰度)必須三原色值相同。也就是說灰度圖不一定是單通道,但是單通道一定是灰度圖!
色調、飽和度、亮度
色調
色調(色相):彩色圖片中,色調決定彩色圖片更加偏於哪一方。
例如:
我們修改一下色調,當把色調調低時,顏色更加偏向於紅色
當我們把色調調高一點時,顏色更加偏向於綠色。
所以由此可以得出色調是決定一個像素點中的顏色更偏向於哪一方(RGB)
飽和度
飽和度決定了顏色空間中顏色分量,飽和度越高,說明顏色越深,飽和度越低,說明顏色越淺。
如圖:
當飽和度為55時,可以發現該顏色空間能顯示的顏色分量非常低
當我把飽和度調高一點時,可以發現顏色分量顯示的明顯要深
所以飽和度在顏色空間中是起到一個控制RGB組合色的顏色深度的作用。
亮度
亮度決定顏色空間中顏色的明暗程度!
如圖,亮度設置比較高的時候會發現顏色顯示的較為鮮艷。
當我們把亮度調低一點時
會發現顏色會變得非常暗!
所以亮度在顏色空間中起到一個控制RGB組合色的明暗程度的作用。
註意:無論你怎麽修改色調,飽和度,亮度,RGB三色值會跟隨而變化;相反,改變RGB三色值時色調、亮度、飽和度也會隨之變化。其實色調,飽和度,亮度都是通過特定的算法經過計算修改RGB三色而達到的控制顏色效果!
HSV顏色空間
概述
HSV(Hue, Saturation, Value)是根據顏色的直觀特性由A. R. Smith在1978年創建的一種顏色空間, 也稱六角錐體模型(Hexcone Model)。
這個模型中顏色的參數分別是:色調(H),飽和度(S),明度(V)。
色調H(Hue)
用角度度量,取值範圍為0°~360°,從紅色開始按逆時針方向計算,紅色為0°,綠色為120°,藍色為240°,。它們的補色是:黃色為60°,青色為180°,品紅為300°,0°- 359°時顏色會依次變換當角度到達360°時也就是紅色,角度也就又回到0°了。
飽和度 S(Saturation)
飽和度S表示顏色接近光譜色的程度。一種顏色,可以看成是某種光譜色與白色混合的結果。其中光譜色所占的比例愈大,顏色接近光譜色的程度就愈高,顏色的飽和度也就愈高。飽和度高,顏色則深而艷。
明度V(Value)
明度表示顏色明亮的程度,對於光源色,明度值與發光體的光亮度有關;通常取值範圍為0%(黑)到100%(白)。
模型分析
H參數表示色彩信息,即所處的光譜顏色的位置。該參數用一角度量來表示,紅、綠、藍分別相隔120度。
HSV對用戶來說是一種直觀的顏色模型。我們可以從一種純色彩開始,即指定色彩角H,並讓V=S=1,然後我們可以通過向其中加入黑色和白色來得到我們需要的顏色。增加黑色可以減小V而S不變,同樣增加白色可以減小S而V不變。
例如,要得到深藍色,V=0.4 S=1 H=240度。要得到淺藍色,V=1 S=0.4 H=240度。
RGB顏色空間更加面向於工業,而HSV更加面向於用戶,大多數做圖像識別這一塊的都會運用HSV顏色空間,因為HSV顏色空間表達起來更加直觀!
由於HSV是一種比較直觀的顏色模型,所以在許多圖像編輯工具中應用比較廣泛,如Photoshop(在Photoshop中叫HSB)等等,但這也決定了它不適合使用在光照模型中,許多光線混合運算、光強運算等都無法直接使用HSV來實現!
參考鏈接:
1、https://blog.csdn.net/bjbz_cxy/article/details/79701006
2、https://baike.baidu.com/item/RGB顏色空間
RGB顏色空間、色調、飽和度、亮度,HSV顏色空間詳解