【OpenCV】HSV顏色識別-HSV基本顏色分量範圍
一般對顏色空間的影象進行有效處理都是在HSV空間進行的,然後對於基本色中對應的HSV分量需要給定一個嚴格的範圍,下面是通過實驗計算的模糊範圍(準確的範圍在網上都沒有給出)。
H: 0 — 180
S: 0 — 255
V: 0 — 255
此處把部分紅色歸為紫色範圍:
目前在計算機視覺領域存在著較多型別的顏色空間(color space)。HSL和HSV是兩種最常見的圓柱座標表示的顏色模型,它重新影射了RGB模型,從而能夠視覺上比RGB模型更具有視覺直觀性。
HSV顏色空間
HSV(hue,saturation,value)顏色空間的模型對應於圓柱座標系中的一個圓錐形子集,圓錐的頂面對應於V=1. 它包含RGB模型中的R=1,G=1,B=1 三個面,所代表的顏色較亮。色彩H由繞V軸的旋轉角給定。紅色對應於 角度0° ,綠色對應於角度120°,藍色對應於角度240°。在HSV顏色模型中,每一種顏色和它的補色相差180° 。 飽和度S取值從0到1,所以圓錐頂面的半徑為1。HSV顏色模型所代表的顏色域是CIE色度圖的一個子集,這個 模型中飽和度為百分之百的顏色,其純度一般小於百分之百。在圓錐的頂點(即原點)處,V=0,H和S無定義, 代表黑色。圓錐的頂面中心處S=0,V=1,H無定義,代表白色。從該點到原點代表亮度漸暗的灰色,即具有不同 灰度的灰色。對於這些點,S=0,H的值無定義。可以說,HSV模型中的V軸對應於RGB顏色空間中的主對角線。 在圓錐頂面的圓周上的顏色,V=1,S=1,這種顏色是純色。HSV模型對應於畫家配色的方法。畫家用改變色濃和 色深的方法從某種純色獲得不同色調的顏色,在一種純色中加入白色以改變色濃,加入黑色以改變色深,同時 加入不同比例的白色,黑色即可獲得各種不同的色調。
HSI顏色空間
HSI色彩空間是從人的視覺系統出發,用色調(Hue)、色飽和度(Saturation或Chroma)和亮度 (Intensity或Brightness)來描述色彩。HSI色彩空間可以用一個圓錐空間模型來描述。用這種 描述HIS色彩空間的圓錐模型相當複雜,但確能把色調、亮度和色飽和度的變化情形表現得很清楚。 通常把色調和飽和度通稱為色度,用來表示顏色的類別與深淺程度。由於人的視覺對亮度的敏感 程度遠強於對顏色濃淡的敏感程度,為了便於色彩處理和識別,人的視覺系統經常採用HSI色彩空間, 它比RGB色彩空間更符合人的視覺特性。在影象處理和計算機視覺中大量演算法都可在HSI色彩空間中 方便地使用,它們可以分開處理而且是相互獨立的。因此,在HSI色彩空間可以大大簡化影象分析 和處理的工作量。HSI色彩空間和RGB色彩空間只是同一物理量的不同表示法,因而它們之間存在著 轉換關係。
HSI 色彩模型是從人的視覺系統出發,用 H 代表色相 (Hue)、S 代表飽和度 (Saturation) 和 I 代表亮度 (Intensity) 來描述色彩。飽和度與顏色的白光光量剛好成反比,它可以說是一個顏色鮮明與否的指標。因此如果我們在顯示器上使用 HIS 模型來處理影象,將能得到較為逼真的效果。
色相 (Hue):指物體傳導或反射的波長。更常見的是以顏色如紅色,橘色或綠色來辨識,取 0 到 360 度的數值來衡量。
飽和度 (Saturation):又稱色度,是指色彩的強度或純度。飽和度代表灰色與色調的比例,並以 0% (灰色) 到 100% (完全飽和) 來衡量。
亮度 (Intensity):
HSL代表色調(Hue),飽和度(Saturation)和亮度(Lightness),通常也稱為HLS。HSV代表色調,飽和度和值(Value)。注意HSL 和HSV的兩個H的含義是相同的,而飽和度的定義是不同的,雖然都叫飽和度,從後面的定義可以看出二者的不同。
HSL 和 HSV 二者都把顏色描述在圓柱體內的點,這個圓柱的中心軸取值為自底部的黑色到頂部的白色而在它們中間是的灰色,繞這個軸的角度對應於“色相”,到這個軸的距離對應於“飽和度”,而沿著這個軸的距離對應於“亮度”,“色調”或“明度”。 HSV 以人類更熟悉的方式封裝了關於顏色的資訊:“這是什麼顏色?深淺如何?明暗如何?”。HSL 顏色空間類似於 HSV,在某些方面甚至比它還好。HSL的模型為雙圓錐形狀。
這兩種表示在用目的上類似,但在方法上有區別。二者在數學上都是圓柱,但 HSV(色相,飽和度,明度)在概念上可以被認為是顏色的倒圓錐體(黑點在下頂點,白色在上底面圓心),HSL 在概念上表示了一個雙圓錐體和圓球體(白色在上頂點,黑色在下頂點,最大橫切面的圓心是半程灰色)。HSV 模型在 1978 年由埃爾維?雷?史密斯創立。下圖給出了HSL和HSV的圓柱模型。
在圓錐上,角度代表色調H,飽和度S表示為點到中心豎線的距離,而亮度或者值V用中心豎線表示。紅色的角度為0度,依次為黃色、綠色、青色、藍色、橙色。連續兩種顏色的角度相差60度。
Taily老段的微信公眾號,歡迎交流學習