HSV與RGB及其在影象處理中的應用
1. RGB模型
2. HSV模型
3. 如何理解RGB與HSV的聯絡
4. HSV在影象處理中的應用
5. opencv中RGB-->HSV實現
在影象處理中,最常用的顏色空間是RGB模型,常用於顏色顯示和影象處理,三維座標的模型形式,非常容易被理解。
而HSV模型,是針對使用者觀感的一種顏色模型,側重於色彩表示,什麼顏色、深淺如何、明暗如何。第一次接觸HSV,書本里首先丟擲的是一個圓錐模型,由於很少使用HSV,所以印象不深刻,但看一些資料時,HSV的概念時不時出來騷擾一些人的神經,所以,弄清楚HSV與RGB的關係,建立直觀的印象是很有必要的。
1. RGB模型。
三維座標:
原點到白色頂點的中軸線是灰度線,r、g、b三分量相等,強度可以由三分量的向量表示。
用RGB來理解色彩、深淺、明暗變化:
色彩變化: 三個座標軸RGB最大分量頂點與黃紫青YMC色頂點的連線
深淺變化:RGB頂點和CMY頂點到原點和白色頂點的中軸線的距離
明暗變化:中軸線的點的位置,到原點,就偏暗,到白色頂點就偏亮
PS: 光學的分析
三原色RGB混合能形成其他的顏色,並不是說物理上其他顏色的光是由三原色的光混合形成的,每種單色光都有自己獨特的光譜,如黃光是一種單色光,但紅色與綠色混合能形成黃色,原因是人的感官系統所致,與人的生理系統有關。
只能說“將三原色光以不同的比例複合後,對人的眼睛可以形成與各種頻率的可見光等效的色覺。”
2. HSV模型
倒錐形模型:
這個模型就是按色彩、深淺、明暗來描述的。
H是色彩
S是深淺, S = 0時,只有灰度
V是明暗,表示色彩的明亮程度,但與光強無直接聯絡,(意思是有一點點聯絡吧)。
3. RGB與HSV的聯絡
從上面的直觀的理解,把RGB三維座標的中軸線立起來,並扁化,就能形成HSV的錐形模型了。
但V與強度無直接關係,因為它只選取了RGB的一個最大分量。而RGB則能反映光照強度(或灰度)的變化。
v = max(r, g, b)
由RGB到HSV的轉換:
" HSV對使用者來說是一種直觀的顏色模型。我們可以從一種純色彩開始,即指定色彩角H,並讓V=S=1,然後我們可以通過向其中加入黑色和白色來得到我們需要的顏色。增加黑色可以減小V而S不變,同樣增加白色可以減小S而V不變。例如,要得到深藍色,V=0.4 S=1 H=240度。要得到淡藍色,V=1 S=0.4 H=240度。
4. HSV在影象處理應用
HSV在用於指定顏色分割時,有比較大的作用。
H和S分量代表了色彩資訊。
分割應用:
用H和S分量來表示顏色距離,顏色距離指代表兩種顏色之間的數值差異。
Androutsos等人通過實驗對HSV顏色空間進行了大致劃分,亮度大於75%並且飽和度大於20%為亮彩色區域,亮度小於25%為黑色區域,亮度大於75%並且飽和度小於20%為白色區域,其他為彩色區域。
對於不同的彩色區域,混合H與S變數,劃定閾值,即可進行簡單的分割。
例如:opencv中inRange,利用HSV進行顏色分割
inRange(imgHSV, Scalar(LowH, LowS, LowV), Scalar(HighH, HighS, HighV), imgThresholded);