RGB與HSV的深層理解(詳細)

簡介:

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

目的:

  1. 深層理解RGB
  2. 什麼是HSV
  3. 灰度化
  4. 兩者聯繫

什麼是RGB?

我們可以這樣理解,我們生活的顏色其實都可以由R(紅)、G(綠)、B(藍)所組成,例如:R:83 G:134 B:139該組合會構成下面顏色。

 那既然顏色是三組數字所組成,必然顏色不可能是無窮多個,R、G、B一定會有取值的範圍,他們的範圍就是0~255(根據CIE(國際照明委員會)制定的顏色系統)。

如果你還不明白,還是不要緊,接下里我將利用圖解的方式繼續讓你搞懂什麼是RGB?青請看下圖:

 我們將三個通道對用到立體模型上,看到我R、G、B三個方向的通道了嗎?隨着三個叔值的不同,顏色也會隨之變化,特殊的是當R=G=B時就是灰度圖了,下面我會具體介紹什麼是灰度圖。

什麼是HSV顏色模型?

如果說RNG顏色模型是一個正方體,那麼HSV模型就是一個六棱錐,圖示如下:

HSVé¢è²ç©ºé´æ¨¡åï¼åé¥æ¨¡åï¼

通過圖示我們也能夠看到,他和RGB顏色模型相似,也是由三個屬性決定顏色,H、S、V分別是色彩、深度、明暗,按着圖中方向的變化,其對應的顏色也會改變,三者也同樣是有取值範圍的,不同的是他的灰度圖和取值範圍, S = 0時,只有灰度,取值範圍是角度:

  • 色調H

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

  • 飽和度s

飽和度S表示顏色接近光譜色的程度。通常取值範圍爲0%~100%,值越大,顏色越飽和。

  • 明度V

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

什麼是灰度圖?

把白色與黑色之間按對數關係分成若干級,稱爲“灰度等級”。範圍一般從0到255,白色爲255,黑色爲0,故黑白圖片也稱灰度圖像,在醫學、圖像識別領域有很廣泛的用途。

任何顏色都由紅、綠、藍三基色組成,假如原來某點的顏色爲RGB(R,G,B),那麼,我們可以通過下面幾種方法,將其轉換爲灰度:

  1. 浮點算法:Gray=R*0.3+G*0.59+B*0.11
  2. 整數方法:Gray=(R*30+G*59+B*11)/100
  3. 移位方法:Gray =(R*77+G*151+B*28)>>8;
  4. 平均值法:Gray=(R+G+B)/3;
  5. 僅取綠色:Gray=G;

通過上述任一種方法求得Gray後,將原來的RGB(R,G,B)中的R,G,B統一用Gray替換,形成新的顏色RGB(Gray,Gray,Gray),用它替換原來的RGB(R,G,B)就是灰度圖了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章