RGB顏色機(jī)制
起源
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ā)光器件(OLED和LED大型全彩顯示牌)來(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)畫圖板,在自定義顏色工具框中,輸入r,g,b值,得到不同的顏色。
概述
RGB顏色空間以R(Red:紅)、G(Green:綠)、B(Blue:藍(lán))三種基本色為基礎(chǔ),進(jìn)行不同程度的疊加,產(chǎn)生豐富而廣泛的顏色,所以俗稱三基色模式。
RGB空間是生活中最常用的一個(gè)顏色顯示模型,電視機(jī)、電腦的CRT顯示器等大部分都是采用這種模型。自然界中的任何一種顏色都可以由紅、綠、藍(lán)三種色光混合而成,現(xiàn)實(shí)生活中人們見(jiàn)到的顏色大多是混合而成的色彩。
肉眼可以識(shí)別世界上的所有顏色,而RGB幾乎可以組合成世界上所有的顏色!
RGB的顏色范圍
以RGB24為例,RGB24的每個(gè)元素在計(jì)算機(jī)內(nèi)存中占用1個(gè)字節(jié),1個(gè)字節(jié)等于8個(gè)bit位,所以RGB每個(gè)元素的取值范圍為:0~255。
那么三色組合起來(lái)256x256x256=16777216(一千六百七十七萬(wàn)七千二百一十六)種顏色。由于人眼的解析度有限,以3個(gè)字節(jié)來(lái)描述顏色以及完全夠用了,甚至有點(diǎn)多余。
單通道與多通道
單通道
俗稱灰度圖,每個(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í)別,和特征提??!
多通道以原圖的形式將圖像展示出來(lái),所以可以提取特征很多,識(shí)別率高!
例如:
多通道也可以組合成灰度圖,上面說(shuō)過(guò),紅+綠+藍(lán)=白色,注意這里補(bǔ)充一下,只有在三色相等時(shí)才會(huì)組合成白色!
深度學(xué)習(xí)圖像處理中,像素值越大意味著什么
在深度學(xué)習(xí)圖像處理中,像素值的大小通常與圖像中特定特征的強(qiáng)度或明顯性有關(guān)。這是因?yàn)閳D像是通過(guò)像素值(通常在0到255之間)來(lái)表示的,這些像素值捕捉顏色和亮度信息。以下是像素值大小在圖像處理中的重要性:
-
顏色和亮度信息:在標(biāo)準(zhǔn)的RGB顏色模式中,一個(gè)像素由紅、綠、藍(lán)三種顏色的強(qiáng)度組成,每種顏色的強(qiáng)度一般在0到255之間。高像素值通常表示更亮的顏色或更高的亮度。例如,在灰度圖像中,像素值接近255通常表示白色,而接近0則表示黑色。
-
特征強(qiáng)度:在圖像處理中,高像素值通常表示圖像中某個(gè)區(qū)域的特征更加明顯。例如,在邊緣檢測(cè)中,邊緣附近的像素值會(huì)有顯著的變化,表示邊緣的存在。
-
對(duì)比度和紋理:圖像的對(duì)比度通常與像素值的范圍和分布有關(guān)。高對(duì)比度的圖像有較大的像素值范圍,這有助于突出顯示紋理和圖案。在深度學(xué)習(xí)中,模型可以利用這種對(duì)比度來(lái)識(shí)別和理解圖像的內(nèi)容。
-
特征映射和激活:在深度學(xué)習(xí)模型中,尤其是卷積神經(jīng)網(wǎng)絡(luò)(CNN),模型通過(guò)應(yīng)用濾波器來(lái)處理圖像,并生成特征映射。在這些特征映射中,高像素值通常表示模型在該位置檢測(cè)到了某個(gè)特定特征。
因此,在深度學(xué)習(xí)圖像處理中,像素值的大小是解釋圖像內(nèi)容的關(guān)鍵因素之一。然而,需要注意的是,圖像的解釋不僅依賴于單個(gè)像素值,還依賴于像素之間的關(guān)系、模型的架構(gòu)、訓(xùn)練數(shù)據(jù)的質(zhì)量和多樣性等因素。
OpenCV 為什么使用 BGR 顏色格式
優(yōu)秀設(shè)計(jì)的要素之一是最少驚訝原則(又名最少驚訝原則)。好的直觀設(shè)計(jì)讓用戶不去思考。
當(dāng)你看到門上有把手時(shí),你想拉它。當(dāng)你看到一扇帶有金屬板的門時(shí),你想推它。這些是門的使用者的期望,當(dāng)門的設(shè)計(jì)者尊重這些期望時(shí),用戶可以在不施加任何精神能量的情況下使用門。但如果設(shè)計(jì)與用戶的期望不一致,一個(gè)簡(jiǎn)單的開(kāi)門動(dòng)作就會(huì)成為一種精神負(fù)擔(dān)。
OpenCV 是一個(gè)非常有用的庫(kù),但是當(dāng)涉及到最小意外原則時(shí),它是一場(chǎng)不合格的災(zāi)難。當(dāng)我在 MATLAB 中編寫計(jì)算機(jī)視覺(jué)代碼時(shí),我很少參考文檔。在使用 OpenCV 時(shí),我在瀏覽器選項(xiàng)卡中永久打開(kāi)文檔。
OpenCV 似乎是按照最大驚喜的原則構(gòu)建的!這一切都始于默認(rèn)的 BGR 像素格式。它不能很好地與使用標(biāo)準(zhǔn) RGB 像素格式的庫(kù)配合使用。例如,當(dāng)您在 OpenCV 中使用imread讀取圖像后嘗試使用matplotlib顯示圖像時(shí),結(jié)果看起來(lái)很有趣。
“當(dāng)其他人和他們的阿姨都使用 RGB 時(shí),為什么不使用 RGB 呢?”
幾個(gè)月前,當(dāng)我在 OpenCV 的創(chuàng)始人 Gary Bradski 博士的一次會(huì)議上見(jiàn)到他時(shí),我就向他提出了這個(gè)問(wèn)題,盡管我省略了關(guān)于每個(gè)人和他們的阿姨使用 RGB 的部分。他用另一個(gè)問(wèn)題回答了我的問(wèn)題。
“為什么美國(guó)標(biāo)準(zhǔn)鐵路軌距是 4 英尺 8.5 英寸?”
這個(gè)問(wèn)題的答案當(dāng)然是“因?yàn)榱_馬馬的屁股!”
對(duì)于那些不知道這個(gè)不那么真實(shí)的故事的人,我從snopes復(fù)制了以下內(nèi)容
美國(guó)標(biāo)準(zhǔn)鐵路軌距(兩根鐵軌之間的寬度)為 4 英尺 8.5 英寸。這是一個(gè)極其奇數(shù)的數(shù)字。為什么使用該儀表?
因?yàn)檫@就是英國(guó)人建造鐵路的方式,而美國(guó)鐵路是由英國(guó)僑民建造的。
為什么英國(guó)人要這樣建造它們?因?yàn)榈谝粭l鐵路線是由建造鐵路前的電車軌道的同一個(gè)人建造的,這就是他們使用的軌距。
那么“他們”為什么要使用那個(gè)儀表呢?因?yàn)榻ㄔ祀娷囓壍赖娜耸褂玫膴A具和工具與建造使用該車輪間距的貨車所用的夾具和工具相同。
好的!為什么貨車的車輪間距如此特殊?好吧,如果他們嘗試使用任何其他間距,馬車車輪就會(huì)在英格蘭的一些古老的長(zhǎng)途道路上斷裂,因?yàn)檫@是車輪車轍的間距。
那么,是誰(shuí)修建了這些古老的車轍道路呢?歐洲(和英國(guó))的第一條長(zhǎng)途公路是羅馬帝國(guó)為其軍團(tuán)修建的。從那時(shí)起,這些道路就一直被使用。還有道路上的車轍?羅馬戰(zhàn)車首先形成了最初的車轍,其他人都必須匹配這些車轍,以免損壞車輪。由于戰(zhàn)車是為羅馬帝國(guó)制造的(或由羅馬帝國(guó)制造),因此它們?cè)谲囕嗛g距方面都是相似的。
美國(guó)標(biāo)準(zhǔn)鐵路軌距為 4 英尺 8.5 英寸,源自羅馬帝國(guó)戰(zhàn)車的原始規(guī)格。規(guī)范和官僚主義永遠(yuǎn)存在。因此,下次當(dāng)您收到一份規(guī)格并想知道是什么馬的屁股想出它時(shí),您可能是完全正確的,因?yàn)榱_馬帝國(guó)戰(zhàn)車的寬度剛好足以容納兩匹戰(zhàn)馬的后端。這樣,我們就得到了原來(lái)問(wèn)題的答案。
現(xiàn)在故事發(fā)生了轉(zhuǎn)折。。。
關(guān)于鐵路軌距和馬屁股的故事還有一個(gè)有趣的延伸。當(dāng)我們看到航天飛機(jī)停在發(fā)射臺(tái)上時(shí),主燃料箱的兩側(cè)附有兩個(gè)大型助推火箭。這些是固體火箭助推器(SRB)。SRB 由 Thiokol 在猶他州的工廠生產(chǎn)。設(shè)計(jì) SRB 的工程師可能更愿意將它們做得更胖一點(diǎn),但 SRB 必須通過(guò)火車從工廠運(yùn)到發(fā)射場(chǎng)。從工廠出來(lái)的鐵路線必須穿過(guò)山里的隧道。SRB 必須穿過(guò)那條隧道。隧道比鐵軌稍寬,鐵軌大約有兩匹馬屁股那么寬。
因此,可以說(shuō)是世界上最先進(jìn)的交通系統(tǒng)的主要設(shè)計(jì)特征是在兩千多年前由馬屁股的寬度決定的!
為什么他們?cè)?OpenCV 中選擇 BGR 色彩空間?
OpenCV 早期開(kāi)發(fā)人員之所以選擇 BGR 顏色格式,是因?yàn)楫?dāng)時(shí) BGR 顏色格式在相機(jī)制造商和軟件提供商中很流行。例如,在 Windows 中,當(dāng)使用COLORREF指定顏色值時(shí),它們使用 BGR 格式0x00bbggrr。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-811927.html
BGR 是出于歷史原因而做出的選擇,現(xiàn)在我們必須接受它。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-811927.html
到了這里,關(guān)于第四十八章 解讀RGB顏色機(jī)制,在圖像處理中像素值越大意味著什么,OpenCV為什么使用 BGR 顏色格式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!