0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RGB顏色空間與RGB三色中色調(diào)、飽和度、亮度之間的關(guān)系

xCb1_yikoulinux ? 來(lái)源:一口Linux ? 作者:一口Linux ? 2022-07-01 10:55 ? 次閱讀

一.概述

本文章會(huì)詳細(xì)的介紹RGB顏色空間與RGB三色中色調(diào)、飽和度、亮度之間的關(guān)系,最后會(huì)介紹HSV顏色空間!

一.RGB顏色空間

1. 起源

RGB三原色起源于上世紀(jì)初1809年Thomas Young提出視覺(jué)的三原色學(xué)說(shuō),隨后Helmholtz在1824年也提出了三原色學(xué)說(shuō):即:視網(wǎng)膜存在三種視錐細(xì)胞,分別含有對(duì)紅、綠、藍(lán)三種光線敏感的視色素,當(dāng)一定波長(zhǎng)的光線作用于視網(wǎng)膜時(shí),以一定的比例使三種視錐細(xì)胞分別產(chǎn)生不同程度的興奮,這樣的信息傳至大腦中樞,就產(chǎn)生某一種顏色的感覺(jué)。

在顯示器發(fā)明之后,從黑白顯示器發(fā)展到彩色顯示器,人們開(kāi)始使用發(fā)出不同顏色的光的熒光粉(CRT,等離子體顯示器),或者不同顏色的濾色片(LCD),或者不同顏色的半導(dǎo)體發(fā)光器件(OLEDLED大型全彩顯示牌)來(lái)形成色彩,無(wú)一例外的選擇了Red,Green,Blue這3種顏色的發(fā)光體作為基本的發(fā)光單元。通過(guò)控制他們發(fā)光強(qiáng)度,組合出了人眼睛能夠感受到的大多數(shù)的自然色彩。

計(jì)算機(jī)顯示彩色圖像的時(shí)候也不例外,最終顯示的時(shí)候,要控制一個(gè)像素中Red,Green,Blue的值,來(lái)確定這個(gè)像素的顏色。計(jì)算機(jī)中無(wú)法模擬連續(xù)的存儲(chǔ)從最暗到最亮的量值,而只能以數(shù)字的方式表示。于是,結(jié)合人眼睛的敏感程度,使用3個(gè)字節(jié)(3*8位)來(lái)分別表示一個(gè)像素里面的Red,Green 和Blue的發(fā)光強(qiáng)度數(shù)值,這就是常見(jiàn)的RGB格式。我們可以打開(kāi)畫(huà)圖板,在自定義顏色工具框中,輸入r,g,b值,得到不同的顏色。

2. 概述

RGB顏色空間以R(Red:紅)、G(Green:綠)、B(Blue:藍(lán))三種基本色為基礎(chǔ),進(jìn)行不同程度的疊加,產(chǎn)生豐富而廣泛的顏色,所以俗稱(chēng)三基色模式。

RGB空間是生活中最常用的一個(gè)顏色顯示模型,電視機(jī)、電腦的CRT顯示器等大部分都是采用這種模型。自然界中的任何一種顏色都可以由紅、綠、藍(lán)三種色光混合而成,現(xiàn)實(shí)生活中人們見(jiàn)到的顏色大多是混合而成的色彩。

肉眼可以識(shí)別世界上的所有顏色,而RGB幾乎可以組合成世界上所有的顏色!

二。 RGB顏色范圍

RGB的每個(gè)元素在計(jì)算機(jī)內(nèi)存中占用1個(gè)字節(jié),1個(gè)字節(jié)等于8個(gè)bit位,所以RGB每個(gè)元素的取值范圍為:0~256(2的8次方)(從2開(kāi)始算次方我個(gè)人覺(jué)得是因?yàn)閎it位,因?yàn)橐粋€(gè)bit位可以表示兩種狀態(tài))

那么三色組合起來(lái)256x256x256=16777216(一千六百七十七萬(wàn)七千二百一十六)種顏色,這么多的顏色幾乎可以覆蓋世界上所有的顏色!所以平常電視機(jī)、電腦屏幕、任何顯示儀器都會(huì)通過(guò)這種RGB顏色空間來(lái)顯示!

1. 組合方法

組合方法是通過(guò)互補(bǔ)光的形式來(lái)組合成任意顏色的

例如:

紅色 + 綠色 = 黃色

如圖:

紅色 + 綠色 +藍(lán)色 = 白色

如圖:

你也可以調(diào)整RGB某一元素的色值來(lái)達(dá)到不同的顏色組合!

2. RGBA

RGBA(Alpha),A用于描述三原色的透明度!

例如:

3. RGB文件存儲(chǔ)類(lèi)型

RGB色彩空間根據(jù)每個(gè)分量在計(jì)算機(jī)中占用的存儲(chǔ)字節(jié)數(shù)分為如下幾種類(lèi)型:

(1)RGB555

RGB555是一種16位的RGB格式,各分量都用5位表示,剩下的一位不用。

高字節(jié) -》 低字節(jié)(根據(jù)內(nèi)存大小端)

XRRRRRGGGGGBBBBB(X代表不用)

(2)RGB565

RGB565也是一種16位的RGB格式,但是R占用5位,G占用6位,B占用5位。

(3)RGB24

RGB24是一種24位的RGB格式,各分量占用8位,取值范圍為0-255。

(4)RGB32

RGB32是一種32位的RGB格式,各分量占用8位,剩下的8位作Alpha通道或者不用。

(5)RGB222

RGB222是一種8位的RGB格式,各分量占用2bit位,剩下的2bit位不用!

注意這種格式一般用于灰度圖,現(xiàn)在的CRT(陰極射線管)都是彩色RGB模型的CRT,所以在顯示灰度圖時(shí)都是放射RGB顏色模板(熒光粉)來(lái)做到顯示顏色的,也就是說(shuō)每個(gè)像素點(diǎn)上的熒光粉有三個(gè)RGB,所以顯示灰度圖時(shí)也就是單通道的圖片時(shí),是通過(guò)混合RGB來(lái)達(dá)到灰度色的!

還有RGB232,RGB332,RGB233,。..

早期的CRT只能顯示黑白照是因?yàn)?a href="http://wenjunhu.com/v/" target="_blank">工業(yè)水平有限,注意也不一定是黑白色,也有可能是單色,如紅色,暗紅,紫色,暗紫,只能顯示一種顏色!

4. 單通道與多通道

單通道:

俗稱(chēng)灰度圖,每個(gè)像素點(diǎn)只能有一個(gè)值表示顏色,它的像素值在0到255之間,0是黑色,255是白色,中間值是一些不同等級(jí)的灰色,可以說(shuō)灰度是黑與白之間的過(guò)渡色!

注意這個(gè)值不是RGB里的任何一個(gè)元素,顯示設(shè)備是直接通過(guò)CRT(彩色陰極射線顯像管)將單通道里的像素值顯示黑白色圖像,值越高黑色圖越亮,一般灰度值大小不會(huì)超過(guò)125!

多通道:

多通道也就是RGB三原色,每個(gè)像素點(diǎn)有三個(gè)字節(jié)來(lái)表示(RGB),分別最大取值范圍是0-255,可以組合成千萬(wàn)種顏色。

圖像處理優(yōu)勢(shì)對(duì)比:

單通道往往應(yīng)用于圖像處理,因?yàn)閱瓮ǖ乐挥幸粋€(gè)像素點(diǎn)(一個(gè)字節(jié)),所以相比多通道三個(gè)字節(jié),處理速度上要尤為的快!

而且單通道能將圖像以灰度形式顯示出來(lái),不會(huì)影響圖像識(shí)別,和特征提?。?/p>

多通道以原圖的形式將圖像展示出來(lái),所以可以提取特征很多,識(shí)別率高!

例如:

多通道也可以組合成灰度圖,上面說(shuō)過(guò),紅+綠+藍(lán)=白色,注意這里補(bǔ)充一下,只有在三色相等時(shí)才會(huì)組合成白色!

例如:

想要達(dá)到灰度只要將RGB三色調(diào)低一點(diǎn)就可以達(dá)到!

例如:

但是當(dāng)某一方的值不相同時(shí)就會(huì)產(chǎn)生其他顏色。

所以三通道想要組合成黑白色(灰度)必須三原色值相同。

也就是說(shuō)灰度圖不一定是單通道,但是單通道一定是灰度圖!

三。 色調(diào)、飽和度、亮度

1. 色調(diào)(色相):

彩色圖片中,色調(diào)決定彩色圖片更加偏于哪一方!

列如:

我們修改一下色調(diào)

當(dāng)把色調(diào)調(diào)低時(shí),顏色更加偏向于紅色

當(dāng)我們把色調(diào)調(diào)高一點(diǎn)時(shí),顏色更加偏向于綠色

當(dāng)顏色在調(diào)高一點(diǎn)時(shí),顏色更加偏向于藍(lán)色

2. 飽和度

飽和度決定了顏色空間中顏色分量,飽和度越高,說(shuō)明顏色越深,飽和度越低,說(shuō)明顏色越淺!

如圖:

當(dāng)飽和度為55時(shí),可以發(fā)現(xiàn)該顏色空間能顯示的顏色分量非常低

當(dāng)我把飽和度調(diào)高一點(diǎn)時(shí),可以發(fā)現(xiàn)顏色分量顯示的明顯要深!

可以與上圖形成鮮明的對(duì)比。

所以飽和度在顏色空間中是起到一個(gè)控制RGB組合色的顏色深度的作用。

3. 亮度

亮度決定顏色空間中顏色的明暗程度!

如圖,亮度設(shè)置比較高的時(shí)候會(huì)發(fā)現(xiàn)顏色顯示的較為鮮艷

會(huì)發(fā)現(xiàn)顏色會(huì)變得非常暗!

所以亮度在顏色空間中起到一個(gè)控制RGB組合色的明暗程度的作用。

下面有個(gè)答案是我在知乎上看到的覺(jué)得非常適合描述色調(diào)(色相)、飽和度、亮度與顏色空間的關(guān)系:

05dcf428-e7a8-11ec-ba43-dac502259ad0.png

明度為0的時(shí)候,只有一個(gè)點(diǎn),只能是黑色。沒(méi)有光,啥都看不見(jiàn)。

后面我們要讓明度是某個(gè)不為零的值,才好談下去?;谶@個(gè)條件,

純度為0的時(shí)候,只有一條線,只能是黑白的。沒(méi)有對(duì)比度,就沒(méi)有彩色。

純度也不為0了,才可能出現(xiàn)彩色,至于到底是哪一種顏色,就要看色度了。

不知道大家有沒(méi)有發(fā)現(xiàn),無(wú)論你怎么修改色調(diào),飽和度,亮度,RGB三色值會(huì)跟隨而變化,其實(shí)色調(diào),飽和度,亮度都是通過(guò)特定的算法經(jīng)過(guò)計(jì)算修改RGB三色而達(dá)到的控制顏色效果!

本欄屬于圖像理論知識(shí)不提供任何實(shí)踐代碼!

四。 HSV顏色空間 (部分地方是參考他人博客的文章,然后根據(jù)自己的理解寫(xiě)出來(lái)的!)

1. 起源

HSV(Hue, Saturation, Value)是根據(jù)顏色的直觀特性由A. R. Smith在1978年創(chuàng)建的一種顏色空間, 也稱(chēng)六角錐體模型(Hexcone Model)。

062a5bd2-e7a8-11ec-ba43-dac502259ad0.png

這個(gè)模型中顏色的參數(shù)分別是:色調(diào)(H),飽和度(S),明度(V)。

2. HSV顏色模型介紹

2.1色調(diào)H(Hue)

用角度度量,取值范圍為0°~360°,從紅色開(kāi)始按逆時(shí)針?lè)较蛴?jì)算,紅色為0°,綠色為120°,藍(lán)色為240°,。它們的補(bǔ)色是:黃色為60°,青色為180°,品紅為300°,0°- 359°時(shí)顏色會(huì)依次變換當(dāng)角度到達(dá)360°時(shí)也就是紅色,角度也就又回到0°了,所以總共為360°,每變換1°時(shí),色相就會(huì)有輕微的變化!如果是順時(shí)針的話這個(gè)變換過(guò)程會(huì)從紅色逐漸變換到綠色,在由綠色逐漸變換到藍(lán)色,在由藍(lán)色逐漸變換到紅色!逆時(shí)針的話就是相反的!

0662e89e-e7a8-11ec-ba43-dac502259ad0.png

2.2 飽和度 S(Saturation)

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

069ad362-e7a8-11ec-ba43-dac502259ad0.png

2.3 明度V(Value)

明度表示顏色明亮的程度,對(duì)于光源色,明度值與發(fā)光體的光亮度有關(guān);通常取值范圍為0%(黑)到100%(白)。

06f93934-e7a8-11ec-ba43-dac502259ad0.png

2.4 模型分析:

071c6eb8-e7a8-11ec-ba43-dac502259ad0.png

H參數(shù)表示色彩信息,即所處的光譜顏色的位置。該參數(shù)用一角度量來(lái)表示,紅、綠、藍(lán)分別相隔120度。HSV中每一種顏色的互補(bǔ)色分別相差180度。意思就是說(shuō):兩種顏色在互補(bǔ)時(shí)最大為180°

例如:

在HSV模型中紅與綠的互補(bǔ)色為黃色,其角度為60°

綠色與藍(lán)色的互補(bǔ)光為青色其角度也為60°

藍(lán)色與紅色的互補(bǔ)光為品紅色其角度也為60°

那么按逆反的方向來(lái)算,綠色到紅色的互補(bǔ)光為60°

藍(lán)色到綠色的互補(bǔ)光也為60°

紅色到藍(lán)色的互補(bǔ)光也為60°

所以通過(guò)以上知識(shí)可以知道,紅色到到綠色之間的互補(bǔ)光為60°,而綠色到紅色之間的互補(bǔ)光也為60°所以每一種顏色的色差是:60°+ 60°= 180°

互補(bǔ)光的色差在HSV顏色模型中是這樣來(lái)算的!

純度S為一比例值,范圍從0到1,它表示成所選顏色的純度和該顏色最大的純度之間的比率。S=0時(shí),只有灰度。

V表示色彩的明亮程度,范圍從0到1。有一點(diǎn)要注意:它和光強(qiáng)度之間并沒(méi)有直接的聯(lián)系。

2.5 HSV顏色分析

HSV對(duì)用戶(hù)來(lái)說(shuō)是一種直觀的顏色模型。我們可以從一種純色彩開(kāi)始,即指定色彩角H,并讓V=S=1,然后我們可以通過(guò)向其中加入黑色和白色來(lái)得到我們需要的顏色。增加黑色可以減小V而S不變,同樣增加白色可以減小S而V不變。例如,要得到深藍(lán)色,V=0.4 S=1 H=240度。要得到淺藍(lán)色,V=1 S=0.4 H=240度。

如圖:

0896da08-e7a8-11ec-ba43-dac502259ad0.png

一般說(shuō)來(lái),人眼最大能區(qū)分128種不同的色彩,130種色飽和度,23種明暗度。如果我們用16Bit表示HSV的話,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以滿(mǎn)足我們的需要了。

由于HSV是一種比較直觀的顏色模型,所以在許多圖像編輯工具中應(yīng)用比較廣泛,如Photoshop(在Photoshop中叫HSB)等等,但這也決定了它不適合使用在光照模型中,許多光線混合運(yùn)算、光強(qiáng)運(yùn)算等都無(wú)法直接使用HSV來(lái)實(shí)現(xiàn)!

RGB顏色空間更加面向于工業(yè),而HSV更加面向于用戶(hù),大多數(shù)做圖像識(shí)別這一塊的都會(huì)運(yùn)用HSV顏色空間,因?yàn)镠SV顏色空間表達(dá)起來(lái)更加直觀!

原文標(biāo)題:開(kāi)發(fā)必備知識(shí)點(diǎn):RGB顏色空間、色調(diào)、飽和度、亮度、HSV顏色空間詳解

文章出處:【微信公眾號(hào):一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 顯示器
    +關(guān)注

    關(guān)注

    21

    文章

    4979

    瀏覽量

    139991
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4314

    瀏覽量

    85851
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7494

    瀏覽量

    87963
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    798

    瀏覽量

    58510

原文標(biāo)題:開(kāi)發(fā)必備知識(shí)點(diǎn):RGB顏色空間、色調(diào)、飽和度、亮度、HSV顏色空間詳解

文章出處:【微信號(hào):yikoulinux,微信公眾號(hào):一口Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無(wú)線控制RGB三色燈系統(tǒng)

    項(xiàng)目說(shuō)明:本設(shè)計(jì)基于安芯一號(hào)SLH89F5162以及藍(lán)牙技術(shù)等實(shí)現(xiàn)了對(duì)RGB三色燈的無(wú)線控制功能。該設(shè)計(jì)將外形炫目,應(yīng)用廣泛的LED三色燈與智能化技術(shù)巧妙結(jié)合后,可實(shí)現(xiàn)快速判定室內(nèi)亮度
    發(fā)表于 11-15 14:37

    【MiCOKit試用體驗(yàn)】MICOKIT的呼吸三色LED

    、Green綠、Blue藍(lán)三色發(fā)光極上的顯色方式。當(dāng)紅綠藍(lán)三色光的亮度均為最大值(255)的時(shí)候,屏幕上重現(xiàn)的顏色就是最亮的白色,都為0的時(shí)候,結(jié)果就是黑色。如果想要得出剛才提到的“海
    發(fā)表于 09-27 13:44

    【MiCOKit試用體驗(yàn)】慶科MiCOKit外設(shè)篇(5)RGB三色

    ,只需要關(guān)注h***2rgb_led文件的函數(shù)即可。這里需要說(shuō)明的是:HSB是色相(Hue),飽和度(Staturation)和亮度(Brightness)的縮寫(xiě),而R是紅色(Red
    發(fā)表于 10-17 21:45

    Proteus 8 Professional 制作(***x8)x8三色點(diǎn)陣仿真元件(不是RGB全彩)

    狀態(tài)(0,***),我選擇用8種狀態(tài)的***種就可以將三色LED的***個(gè)腳分開(kāi)顯示,按照8x8點(diǎn)陣的狀態(tài)來(lái)排列,重新命名為L(zhǎng)EDMATRIX_RGB_X_X,將LEDMATRIX_RGB
    發(fā)表于 12-15 12:20

    液晶拼接屏亮度重要嗎?影響它的有哪些因素?

    自然界的七光就分別對(duì)應(yīng)著不同的色調(diào),而每種色調(diào)又分別對(duì)應(yīng)著不同的波長(zhǎng)。  一、液晶拼接屏亮度飽和度
    發(fā)表于 12-19 12:20

    如何用個(gè)PWM去控制三色燈呢

    三色燈有個(gè)基礎(chǔ)顏色,用個(gè)PWM控制這個(gè)基礎(chǔ)顏色亮度
    發(fā)表于 11-29 08:16

    三色RGB LED模塊學(xué)習(xí)筆記

    作者:GWD 時(shí)間:2019.06.28三色RGB學(xué)習(xí)筆記(開(kāi)關(guān)量類(lèi)傳感器)一、學(xué)習(xí)要點(diǎn):無(wú)二、手冊(cè)分析(開(kāi)關(guān)量傳感器)1、產(chǎn)品用途:RGB LED 模塊由一個(gè)貼片全彩 LED 制成,通過(guò) R、G
    發(fā)表于 01-06 07:38

    RGB LED--AT_SURF案例No.2

    255 時(shí)“燈”最亮。當(dāng)三色灰度數(shù)值相同時(shí),產(chǎn)生不同灰度值的灰色調(diào),即三色灰度都為0 時(shí),是最暗的黑色調(diào)三色灰度都為255 時(shí),是最亮的白
    發(fā)表于 05-18 19:54

    增強(qiáng)現(xiàn)實(shí)抬頭顯示色彩飽和度域的重要性

    TI DLP?技術(shù)在增強(qiáng)現(xiàn)實(shí)(AR)抬頭顯示(HUD)等汽車(chē)應(yīng)用中越來(lái)越受歡迎,主要原因之一是其具有明亮鮮艷的色彩。為了更好地理解顏色在AR HUD的作用(如圖1所示),我先介紹一下色彩飽和度
    發(fā)表于 11-11 07:23

    RGB三色燈的原理

    rgb燈的實(shí)現(xiàn)過(guò)程,通過(guò)定時(shí)器,進(jìn)行RGB三色值得設(shè)置和百分比換算,從而改變占空比,實(shí)現(xiàn)顏色的調(diào)整和亮度的改變,以及漸變,閃爍等各種狀態(tài)。
    發(fā)表于 01-18 15:05 ?262次下載

    RGB三色直方圖的繪制

    《OpenCV3編程入門(mén)》書(shū)本配套源代碼:RGB三色直方圖的繪制
    發(fā)表于 06-06 15:20 ?17次下載

    OpenCV3編程入門(mén)-源碼例程全集-RGB三色直方圖的繪制

    OpenCV3編程入門(mén)-源碼例程全集-RGB三色直方圖的繪制
    發(fā)表于 09-18 16:38 ?0次下載

    Holtek新推出小封裝的RGB三色LED調(diào)光控制MCU - HT45F0060

    Holtek新推出小封裝的RGB三色LED調(diào)光控制MCU - HT45F0060,內(nèi)建RGB三色LED驅(qū)動(dòng)電路與單線串接接口,可實(shí)現(xiàn)單顆主控并驅(qū)動(dòng)R
    發(fā)表于 05-09 18:04 ?7599次閱讀

    RGB LED的詳細(xì)介紹如何通過(guò)一個(gè)RGB小燈隨機(jī)產(chǎn)生不同的炫彩顏色

    現(xiàn)在介紹一種新的LED——RGB LED。 它是由紅(Red)、綠(Green)和藍(lán)(Blue)三色組成。我們電腦的顯示器也是由一個(gè)個(gè)小的紅、綠、藍(lán)點(diǎn)組成的??梢酝ㄟ^(guò)調(diào)整個(gè)LED
    發(fā)表于 07-23 08:00 ?57次下載
    <b class='flag-5'>RGB</b> LED的詳細(xì)介紹如何通過(guò)一個(gè)<b class='flag-5'>RGB</b>小燈隨機(jī)產(chǎn)生不同的炫彩<b class='flag-5'>顏色</b>

    基于RVB2601開(kāi)發(fā)板的RGB三色呼吸燈及按鍵防抖

    ch2601_rgb_marquee_demo已經(jīng)有RGB三色燈的GPIO控制方式以及PWM控制方式,對(duì)其進(jìn)行測(cè)試,但我拿到的測(cè)試板紅色燈應(yīng)該出了點(diǎn)問(wèn)題,無(wú)法正常亮起。
    發(fā)表于 09-19 10:39 ?1034次閱讀
    基于RVB2601開(kāi)發(fā)板的<b class='flag-5'>RGB</b><b class='flag-5'>三色</b>呼吸燈及按鍵防抖