色彩空間類型---OpenCV-Python開發(fā)指南(7)

前言

在前面,我們只介紹了三種圖像的類型懒浮,分別位二值圖像飘弧、灰度圖像以及RGB圖像。但我們現(xiàn)在常用的圖像肯定是RGB圖像砚著,不過它只是色彩空間的一種類型次伶,在實(shí)際的圖像中,還有許多其他的色彩空間赖草,對于會PS的讀者來說肯定不會陌生学少。

比如GRAY色彩空間(灰度圖像),XYZ色彩空間秧骑,YCrCb色彩空間版确,HSV色彩空間,HLS色彩空間乎折,CIELab色彩空間绒疗,CIELuv色彩空間,Bayer色彩空間等骂澄。

每個(gè)圖像都有其擅長處理的內(nèi)容吓蘑,因此我們要掌握這些色彩空間圖像的轉(zhuǎn)換,以便后續(xù)更方便的處理圖像的問題坟冲。

GRAY色彩空間

GRAY就是我們前面介紹的灰度圖像磨镶,通常指8位灰度圖像,其具有256個(gè)灰度級健提,像素值范圍位[0,255]琳猫。

RGB轉(zhuǎn)換位GRAY的數(shù)學(xué)公式如下:

Gray=0.229R+0.587G+0.114*B

而圖像有GRAY色彩空間轉(zhuǎn)換為RGB色彩空間時(shí),最終所有通道的值都是相同的私痹,其處理方式如下:

R=Gray

G=Gray

B=Gray

XYZ色彩空間

XYZ色彩空間是由CIE(International Commission on Illumination)定義的脐嫂,是一種更便于計(jì)算的色彩空間统刮,它不像RGB轉(zhuǎn)換位GRAY,只能單向轉(zhuǎn)換账千,XYZ色彩空間與RGB轉(zhuǎn)換不會丟失任何值侥蒙。

將RGB色彩空間轉(zhuǎn)換為XYZ色彩空間,其轉(zhuǎn)換公式為:


將XYZ色彩空間轉(zhuǎn)換為RGB色彩空間匀奏,其轉(zhuǎn)換公式為:

YCrCb色彩空間

人眼視覺系統(tǒng)對顏色的敏感度要低于對亮度的敏感度鞭衩。在傳統(tǒng)的RGB色彩空間內(nèi),RGB三原色具有相同的重要性攒射,但是忽略了亮度的信息醋旦。所以,才有了YCrCb色彩空間会放。

在YCrCb色彩空間中,Y代表光源的亮度钉凌,色度信息保存在Cr和Cb中咧最,其中,Cr表示紅色分量信息御雕,Cb表示藍(lán)色分量信息矢沿。

亮度給出了顏色亮或暗的程度信息,該信息可以通過照明中強(qiáng)度成分的加權(quán)和來計(jì)算酸纲。在RGB光源中捣鲸,綠色分量的影響最大,藍(lán)色分量的影響最小闽坡。

從RGB色彩空間轉(zhuǎn)換YCrCb色彩空間的數(shù)學(xué)公式如下:

Y=0.229R+0.587G+0.114*B

Cr=(R-Y)*0.713+delta

Cb=(B-Y)*0.564+delta

其中delta的值為:


從YCrCb色彩空間轉(zhuǎn)RGB數(shù)學(xué)公式如下:

R=Y+1.403*(Cr-delta)

G=Y-0.714(Cr-delta)-0.344(Cb-delta)

B=Y+1.773*(Cb-delta)

HSV色彩空間

RGB是從硬件的角度提出的顏色模型栽惶,在與人眼匹配的過程中可能存在一定的差異。而HSV色彩空間是一種面向視覺感知的顏色模型疾嗅。HSV色彩空間是從心理學(xué)和視覺的角度出發(fā)外厂,指出人眼色彩知覺主要包含3個(gè)要素:色調(diào),飽和度代承,亮度汁蝶。

說到這里,相信用過PS的都應(yīng)該清楚HSV到底能干什么了吧论悴?不過掖棉,我們還是介紹一些這3個(gè)要素,畢竟本篇博文就是專門將色彩空間理論知識的膀估,不能有空缺幔亥。

色調(diào)(H):指光的顏色,色調(diào)與混合光譜中的主要光波長相關(guān)玖像,例如“赤橙黃綠青藍(lán)紫”分別表示不同的色調(diào)紫谷。如果從波長的角度考慮齐饮,不同的波長的光表現(xiàn)為不同的顏色,實(shí)際上它們體現(xiàn)的是色調(diào)的差異笤昨。

飽和度(S):指色彩的深淺層度祖驱,相對于純凈度,或一種顏色混合白光的數(shù)量瞒窒。純譜色是全飽和的捺僻,像深紅色(紅加白)和淡紫色(紫加白)這樣的彩色是欠飽和的,飽和度與所加白光的數(shù)量成反比崇裁。

亮度(V):反映的是人眼感受到的光的明暗程度匕坯,該指標(biāo)與物體的反射度有關(guān)。對于色彩來講拔稳,如果在其中摻入的白色越多葛峻,則其亮度越高;如果在其摻入的黑色越多巴比,則亮度越低术奖。

在具體的實(shí)現(xiàn)上,我們將物理空間的顏色分布在圓周上轻绞,不同的角度代表不同的顏色采记。因此,通過調(diào)整色調(diào)值政勃,我們就能選取不同的顏色唧龄,色調(diào)的取值范圍為[0,360]奸远。色調(diào)取值不同既棺,顏色也不同,具體如下表所示:

色調(diào)值(度) 顏色
0 紅色
60 黃色
120 綠色
180 青色
240 藍(lán)色
300 品紅色

飽和度的值為[0,1]然走,飽和度的值為0時(shí)援制,只有灰度,飽和度越大芍瑞,顏色值越豐富晨仑。至于亮度,其取值范圍也是[0,1]拆檬。

例如洪己,博主現(xiàn)在取色調(diào)=0,飽和度=1竟贯,亮度=1答捕,就可以提取色彩深紅色。

介紹完理論知識屑那,HSV與上面的色彩空間一樣拱镐,也需要與RGB進(jìn)行轉(zhuǎn)換艘款,不過,我們這里轉(zhuǎn)換之前沃琅,需要先將RGB色彩空間的值轉(zhuǎn)換到[0,1]之間哗咆,然后在進(jìn)行處理。具體處理如下:

V=max(R,G,B) 亮度



這里益眉,H的計(jì)算結(jié)果可能小于0晌柬,如果出現(xiàn)這種情況,則需要對H進(jìn)一步的處理計(jì)算郭脂。如下所示:


上述公式計(jì)算的結(jié)果肯定與前面說的色調(diào)年碘,亮度,飽和度的范圍一致展鸡。至于HSV轉(zhuǎn)RGB屿衅,感興趣的可以參考開發(fā)文檔。

HLS色彩空間

HLS與HSV色彩空間類似莹弊,都具有3要素傲诵。只是HLS色彩空間就L與V不同,其中HLS色彩空間的L(光亮度/明度)替換了亮度箱硕。

那么什么是光亮度/明度呢?

其實(shí)悟衩,光亮度/明度是用來控制色彩的明暗變換剧罩,它的取值范圍同樣也是[0,1]。我們在程序中座泳,可以通過光亮度/明度的大小來衡量有多少光線從物體表面反射出來惠昔。光亮度/明度對于眼睛感知顏色很重要,因?yàn)楫?dāng)一個(gè)具有色彩的物體處于光線太強(qiáng)或者太暗的地方時(shí)挑势,眼睛是無法準(zhǔn)確獲取物體顏色的镇防。

說實(shí)話,編輯公式有點(diǎn)費(fèi)勁潮饱,感興趣的自己查詢開發(fā)文檔来氧,后續(xù)在python中開發(fā),我們都是使用cv2.cvtColor()進(jìn)行轉(zhuǎn)換的香拉。使用起來啦扬,你只需要了解其到底做什么的,并不需要知道其內(nèi)部如何實(shí)現(xiàn)凫碌,但內(nèi)部實(shí)現(xiàn)扑毡,就是上面的這些數(shù)學(xué)公式。

CIELab*色彩空間

CIELab*色彩空間是均勻色彩空間模型盛险,它是面向視覺感知的顏色模型瞄摊。從視覺感知均勻的角度來講勋又,人所感知到的兩種顏色的區(qū)別程度,應(yīng)該與這兩種顏色在色彩空間中的距離成正比换帜。在某個(gè)色彩空間中如果人所觀察的兩種顏色的區(qū)別程度楔壤,與這兩種顏色在該色彩空間中對應(yīng)的點(diǎn)之間的歐式距離成正比,則稱該色彩空間為均勻色彩空間膜赃。

CIELab色彩空間中的L分量用于表示像素的亮度挺邀,取值范圍為[0,100],表示從純黑到純白跳座;a分量表示從紅色到綠色的范圍端铛,取值范圍為[-127,127];b*分量表示從黃色到藍(lán)色的范圍疲眷,取值范圍為[-127.127]禾蚕。

由于CIELab是在CIE的XYZ色彩空間上發(fā)展起來的,所以轉(zhuǎn)換的時(shí)候狂丝,需要先將RGB轉(zhuǎn)換為XYZ色彩空間换淆,然后在轉(zhuǎn)換為CIELab。具體的數(shù)學(xué)公式感興趣的查詢開發(fā)文檔几颜。

CIELuv*色彩空間

CIELuv色彩空間同CIELab色彩空間一樣倍试,是均勻的顏色模型。CIELuv*色彩空間與設(shè)備無關(guān)蛋哭,適用于顯示器顯示和根據(jù)加色原理進(jìn)行組合的場合县习,該模型中比較強(qiáng)調(diào)對紅色的表示,即對紅色的變化比較敏感谆趾,但對藍(lán)色的變化不太敏感躁愿。

同樣的,CIELuv色彩空間也需要先將RGB轉(zhuǎn)換為XYZ色彩空間沪蓬,然后在轉(zhuǎn)換為CIELuv彤钟,具體公式感興趣的可以查詢開發(fā)文檔。

Bayer色彩空間

Bayer色彩空間被廣泛的應(yīng)用在CCD和CMOS相機(jī)中跷叉。

色彩空間的理論知識逸雹,到這里基本就講解完成了,感興趣的可以自己擴(kuò)展最后幾個(gè)數(shù)學(xué)公式性芬。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末峡眶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子植锉,更是在濱河造成了極大的恐慌辫樱,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,331評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俊庇,死亡現(xiàn)場離奇詭異狮暑,居然都是意外死亡鸡挠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評論 3 398
  • 文/潘曉璐 我一進(jìn)店門搬男,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拣展,“玉大人,你說我怎么就攤上這事缔逛”赴#” “怎么了?”我有些...
    開封第一講書人閱讀 167,755評論 0 360
  • 文/不壞的土叔 我叫張陵褐奴,是天一觀的道長按脚。 經(jīng)常有香客問我,道長敦冬,這世上最難降的妖魔是什么辅搬? 我笑而不...
    開封第一講書人閱讀 59,528評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮脖旱,結(jié)果婚禮上堪遂,老公的妹妹穿的比我還像新娘。我一直安慰自己萌庆,他們只是感情好溶褪,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,526評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著践险,像睡著了一般竿滨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捏境,一...
    開封第一講書人閱讀 52,166評論 1 308
  • 那天,我揣著相機(jī)與錄音毁葱,去河邊找鬼垫言。 笑死,一個(gè)胖子當(dāng)著我的面吹牛倾剿,可吹牛的內(nèi)容都是我干的筷频。 我是一名探鬼主播,決...
    沈念sama閱讀 40,768評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼前痘,長吁一口氣:“原來是場噩夢啊……” “哼凛捏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芹缔,我...
    開封第一講書人閱讀 39,664評論 0 276
  • 序言:老撾萬榮一對情侶失蹤坯癣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后最欠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體示罗,經(jīng)...
    沈念sama閱讀 46,205評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡惩猫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,290評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蚜点。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轧房。...
    茶點(diǎn)故事閱讀 40,435評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖绍绘,靈堂內(nèi)的尸體忽然破棺而出奶镶,到底是詐尸還是另有隱情,我是刑警寧澤陪拘,帶...
    沈念sama閱讀 36,126評論 5 349
  • 正文 年R本政府宣布厂镇,位于F島的核電站,受9級特大地震影響藻丢,放射性物質(zhì)發(fā)生泄漏剪撬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,804評論 3 333
  • 文/蒙蒙 一悠反、第九天 我趴在偏房一處隱蔽的房頂上張望残黑。 院中可真熱鬧,春花似錦斋否、人聲如沸梨水。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疫诽。三九已至,卻和暖如春旦委,著一層夾襖步出監(jiān)牢的瞬間奇徒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工缨硝, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留摩钙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,818評論 3 376
  • 正文 我出身青樓查辩,卻偏偏與公主長得像胖笛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子宜岛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,442評論 2 359

推薦閱讀更多精彩內(nèi)容