車道線檢測---色彩空間變換

前幾天,剛接觸這個車道線檢測的項目,給了一堆程序,由於剛接觸很多東西都不懂,現將自己的學習過程記錄下來,以便之後再利用。所遇到的第一個問題即是在車道線檢測的過程中,對圖像的處理,由於RGB色彩空間對於編程實現不方便,所以先將其轉換爲YUV,具體內容如下:

顏色空間是顏色集合的數學表示。三種最常用的顏色模型是:RGB(用於計算機圖形學

中);YIQ、YUV或YCbCr(用於視頻系統中))。爲了更好的理解顏色模型,先介紹幾個基本的顏色概念。

亮度(lightness or intensity or luminance):亮度是光作用於人眼所引起的明亮程度的感覺,它與被觀察物體的發光強度有關。主要表現光的強和弱。

色調(hue):色調是當人眼看一種或多種波長的光時所產生的色彩感覺,它反映顏色的種類,是決定顏色的基本特徵。

飽和度(saturation):飽和度是指顏色的純度即摻入白光的程度,表示顏色深淺的程度。

例如:紅色 + 白色 = 粉紅色 飽和度下降,同時色調發生變化

需要說明的是,由於上面所提到的三種最常用的顏色模型與亮度、色度、飽和度這些直接概念沒有直接的關係。所以又提出了其他的顏色空間模型,比如HSI和HSV,來簡化編程和操作。

 RGB顏色空間

顏色空間顏色空間

顏色空間

由於彩色顯示器採用紅、綠和藍來生成目標顏色,所以RGB顏色空間是計算機圖形學

最通常的選擇,這樣可以簡化系統的構架與設計。

但是,當處理圖像時,使用RGB顏色空間並不是很有效。例如,爲了修改給定像素的亮度,必須同時從幀緩衝區中讀出RGB三個分量,然後重新計算給定亮度對應的RGB值,執行相應的修改後再寫回幀緩衝區。如果我們能夠訪問到直接以亮度格式存儲的圖像,那這個處理過程會簡單很多。 RGB顏色空間的另一個缺點是,要在RGB顏色立方體中生成任何一種顏色,三個RGB分量都需要佔用相同的帶寬。這就使得每個RGB顏色分量的幀緩衝需要同樣的像素深度和現實分辨率。 RGB顏色空間存在許多種不同類型的實現。

 YUV顏色空間

顏色空間顏色空間

顏色空間 YUV是PAL制式和SECAM制式採用的顏色空間,其中Y代表亮度,UV代表色度。“亮度”是通過RGB輸入信號來建立的,方法是將RGB信號的特定部分疊加到一起。

色度”則定義了顏色的兩個方面,色調(hue)與飽和度(saturation),分別用Cr和Cb來表示。其中,Cr反映了RGB輸入信號紅色部分與RGB信號亮度值之間的差異。而Cb反映的是RGB輸入信號藍色部分與RGB信號亮度值之同的差異。 

gamma校準的RGB與YUV顏色空間的轉換的公式如下:

Y = 0.299R + 0.587G + 0.114B 

U = -0.147R - 0.289G + 0.436B

  =0.492(B-Y)  

V = 0.615R - 0.515G - 0.100B 

  =0.877(R-Y)

R = Y + 1.140V 

G = Y - 0.395U - 0.581V 

B = Y + 2.032U 通常所說的YCbCr顏色空間實際上就是YUV顏色空間的縮放和偏移版本,YCbCr進行了圖像子採樣。

HSI、HLSHSV顏色空間

顏色空間顏色空間

顏色空間 HSI (hue、saturation、intensity) 和HSV (hue、saturation、value) 顏色空間在設計上使得顏色感知和解釋的方式與人很接近,在需要手動指定顏色值時經常需要使用它們。HLS (hue、lightness、saturation) 類似於HSI,只是使用了術語lightness,而不是光強度intensity來表示亮度。 HSI和HSV顏色空間的差異在於亮度分量(I or V)的計算方式。HSI顏色空間適合傳統的圖像處理函數,如卷積、均化、直方圖等,可以通過處理亮度值來實現這些操作,因爲亮度I對R、G、B值的依賴程度是一樣的。HSV顏色空間適合處理色度和飽和度,因爲它使得飽和度具有更大的動態取值範圍。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章