iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
自我挑戰組

數位影像處理系列 第 17

[Day 17]色彩模型

  • 分享至 

  • xImage
  •  

**色彩模型(Color Models)**的目的是建立公認且可被廣泛接受的色彩標準,為了不在傳輸或交換的過程中,產生認知上的差異。舉例來說,每個人心中對藍色的定義都不太相同,有些人覺得淺藍就算藍色,而有些人則認為深藍會比較好。

以影像處理來說,色彩模型也稱為色彩空間(Color Space),或色彩系統(Color System)。換句話說,自然界某特定的顏色可以表示呈色彩空間中的一個點,因此具有唯一與獨特性。為了特定的影像處理應用,產生了許多不同的色彩模型。

色彩模型包含兩種屬性,分別為亮度(Luminance)色度(Chrominance)。根據科學家的研究,人類視覺系統對於亮度的敏感度高於色度的敏感度。因此,許多色彩模型的定義,會將色彩依照這兩種屬性區分。


1.RGB色彩模型

RGB色彩模型如下圖所示:

https://ithelp.ithome.com.tw/upload/images/20220924/20152370HDC80VoAp2.jpg
RGB色彩模型基於三維直角坐標系,可以用一個正立方體表示,三個軸分別為R、G、B三原色。原點(0, 0, 0)為黑色,對角線為灰階,即R=G=B,延伸至(1, 1, 1)的白色。三原色的R、G、B分別是以正立方體的頂點(1, 0, 0)、(0, 1, 0)、(0, 0, 1)表示。

由於色彩影像中的R、G、B色彩值通常以24-bits表示,每個色彩為8-bits,因此總共有

https://chart.googleapis.com/chart?cht=tx&chl=(2%5E8)%5E3種顏色。稱為全彩或真實色彩的數位影像。


2.CMY色彩模型

CMY色彩模型是由原料的三原色,即青色(Cyan)、紫紅色(Magenta)、與黃色(Yellow)所構成,與RGB色彩模型的關係為:

https://ithelp.ithome.com.tw/upload/images/20220924/20152370Iq0xQwXO4W.png
上面的公式可以發現:C、M、Y就是R、G、B的補色(Complement)

雖然CMY三色混色後可得黑色,但在實際顏料混色時,並無法得到純黑色,最典型的例子如噴墨式印表機或雷射印表機等等。以成本來說,純黑色墨水匣或碳粉匣會比CMY三色實際混合要低,因此在印表機的設計上,發展了CMYK色彩模型,主要是延伸CMY色彩模型,計算公式為:K = min(C, M, Y)與
https://ithelp.ithome.com.tw/upload/images/20220924/20152370nDj3xyYF7l.png
現代的印表機都普遍採用CMYK色彩模型,例如常見的CMYK墨水匣或碳粉匣。


3.HSI色彩模型

雖然RGB色彩模型與人類視覺系統的感知(R、G、B)是吻合的,而且可用來定義標準的色彩值,但描述色彩的方式對於人類而言並不是很直觀。例如:(R, G, B) = (1, 0, 0)代表紅色,但是(R, G, B) = (0.2, 0.7, 0.5)的色彩值,或許要直接理解是屬於何種顏色有點困難,因此在實際應用層面上,RGB色彩模型並不是很實用。

HSI色彩模型如下圖所示:   

https://ithelp.ithome.com.tw/upload/images/20220924/20152370FaEEDL8FCF.jpg
此模型較符合人類描述色彩的方式,因此,是影像處理實際應用時的理想工具,包含:

  • 色調(Hue):色調是指純色(Pure Color),即是紅、橙、黃、綠、藍、紫等顏色,以角度0~360度表示。

  • 飽和度(Saturation):飽和度是指純色與白色的混合比例,以[0, 1](或0 ~ 100%)的範圍表示。

  • 強度(Intensity):強度即是亮度(Brightness),以[0, 1](或0 ~ 100%)的範圍表示。

    例如:人的皮膚膚色可以描述成:「不飽和的紅色」、暗綠色可以描述成:「低強度的綠色」、淡藍色可以描述成:「不飽和的藍色」等等。

    RGB轉換成HSI的過程如下:
    1.首先將RGB色彩模型的對角線(灰階值)豎直,形成HSI色彩模型的中心線。RGB值(0, 0, 0)~(1, 1, 1)對應HSI色彩模型的強度(Intensity),介於0~1(或0~100%)之間。
    2.RGB色彩模型的正立方體頂點均為純色,距離對角線最遠,對應到HSI色彩模型的圓周,稱為色調(Hue或H)。色調是根據R、Y、G、C、B、M的順序,分別以角度0~360度表示。
    3.**飽和度(Saturation)**為純色與白色的混合比例,因此可以根據與中心線的距離比例表示,其值介於0~1(0~100%)之間
    至於轉換的數學公式,礙於篇幅關係,之後的章節有用到會說明,本章先介紹色彩模型的認識。


4.HSV色彩模型

HSV色彩模型與HSI相似,市面上具有代表性的影像處理軟體,例如:PhotoShop、PhotoImpact,大多都是採用HSV色彩模型。此外,OpenCV涵式庫並未提供HSI色彩模型,而是提供HSV色彩模型的轉換涵式,因此在此介紹之。
HSV如下圖:

https://ithelp.ithome.com.tw/upload/images/20220924/20152370A4LV9obSWp.png
包含:

  • 色調(Hue,H):以角度0~360度定義。OpenCV將Hue值除以2,分別以0~180儲存。
  • 飽和度:如HSI,但OpenCV將之正規化為[0,255]之間
  • :代表強度,OpenCV將之正規化為[0,255]之間

5.YCrCb色彩模型

YCrCb色彩模型在影像處理領域也相當常見,被廣泛應用在數位影像處理系統中,例如:JPEG影像壓縮標準、MPEG視訊壓縮標準等等。
YCrCb包含:
  • Y:代表亮度
  • Cr:代表紅色的偏移量
  • Cb:代表藍色的偏移量
    因此此色彩模型是根據色彩的屬性設計的,Cr與Cb合稱為色度(Chrominance)。

上一篇
[Day 16]色彩理論基礎
下一篇
[Day 18]灰階與色彩轉換
系列文
數位影像處理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言