**色彩模型(Color Models)**的目的是建立公認且可被廣泛接受的色彩標準,為了不在傳輸或交換的過程中,產生認知上的差異。舉例來說,每個人心中對藍色的定義都不太相同,有些人覺得淺藍就算藍色,而有些人則認為深藍會比較好。
以影像處理來說,色彩模型也稱為色彩空間(Color Space),或色彩系統(Color System)。換句話說,自然界某特定的顏色可以表示呈色彩空間中的一個點,因此具有唯一與獨特性。為了特定的影像處理應用,產生了許多不同的色彩模型。
色彩模型包含兩種屬性,分別為亮度(Luminance)與色度(Chrominance)。根據科學家的研究,人類視覺系統對於亮度的敏感度高於色度的敏感度。因此,許多色彩模型的定義,會將色彩依照這兩種屬性區分。
RGB色彩模型如下圖所示:
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,因此總共有
種顏色。稱為全彩或真實色彩的數位影像。
CMY色彩模型是由原料的三原色,即青色(Cyan)、紫紅色(Magenta)、與黃色(Yellow)所構成,與RGB色彩模型的關係為:
上面的公式可以發現:C、M、Y就是R、G、B的補色(Complement)。
雖然CMY三色混色後可得黑色,但在實際顏料混色時,並無法得到純黑色,最典型的例子如噴墨式印表機或雷射印表機等等。以成本來說,純黑色墨水匣或碳粉匣會比CMY三色實際混合要低,因此在印表機的設計上,發展了CMYK色彩模型,主要是延伸CMY色彩模型,計算公式為:K = min(C, M, Y)與
現代的印表機都普遍採用CMYK色彩模型,例如常見的CMYK墨水匣或碳粉匣。
雖然RGB色彩模型與人類視覺系統的感知(R、G、B)是吻合的,而且可用來定義標準的色彩值,但描述色彩的方式對於人類而言並不是很直觀。例如:(R, G, B) = (1, 0, 0)代表紅色,但是(R, G, B) = (0.2, 0.7, 0.5)的色彩值,或許要直接理解是屬於何種顏色有點困難,因此在實際應用層面上,RGB色彩模型並不是很實用。
HSI色彩模型如下圖所示:
此模型較符合人類描述色彩的方式,因此,是影像處理實際應用時的理想工具,包含:
色調(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%)之間
至於轉換的數學公式,礙於篇幅關係,之後的章節有用到會說明,本章先介紹色彩模型的認識。
HSV色彩模型與HSI相似,市面上具有代表性的影像處理軟體,例如:PhotoShop、PhotoImpact,大多都是採用HSV色彩模型。此外,OpenCV涵式庫並未提供HSI色彩模型,而是提供HSV色彩模型的轉換涵式,因此在此介紹之。
HSV如下圖:
包含:
YCrCb色彩模型在影像處理領域也相當常見,被廣泛應用在數位影像處理系統中,例如:JPEG影像壓縮標準、MPEG視訊壓縮標準等等。
YCrCb包含: