圖像色彩模式
位圖模式
位圖模式是色彩模式中佔有空間最小,包含信息量最小的一種模式。它只有黑白兩種色素,因此也叫做黑白圖。
從彩色圖轉爲位圖的過程被稱爲 “二值化”。彩色圖不能直接轉爲位圖,需要先將其轉爲灰度模式,然後才能轉爲位圖。
灰度模式
灰度模式是採用單一色調來表示圖像。1個像素點佔1字節,即 8 bit,每個像素使用 0~255 來表示亮度,0爲黑色,128爲灰色,255爲白色。
RGB模式
RGB模式是我們最常用到的,也被稱爲真色彩。
CMYK模式
HSB 模式
YUV格式
YUV開始主要用於電視系統以及模擬視頻領域,後面手機相機也延用了這一格式,因此大部分攝像頭輸出的圖片格式都是 YUV 格式(安卓是NV12,YUV的一種)。YUV 中的 “Y” 表示亮度(Luminance 或 Luma)也就是灰度值,“U” 和 “V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用於指定像素的顏色。如果只用 “Y” 而不用 “UV” 也可也進行呈像,只不過是黑白的,這樣就能很好的解決了黑白電視與彩色電視的兼容問題。此外,與RGB相比,YUV具有佔用帶寬更少的優勢。
cvtColor
但在圖像的處理過程中卻很少使用 YUV 格式,一般都需要轉成 RGB 格式 或者灰度圖格式進行轉換。
opencv 提供了 cvtColor 函數,用於在圖像的不同色彩空間進行轉換。
函數被定義在 Imgproc.java 中,
public static void cvtColor(Mat src, Mat dst, int code) { …… }
- src 原始圖像
- dst 輸出圖像
- code 由某種格式轉爲另一個格式的枚舉