【OpenCV3.3+Python3.6】圖片的色彩空間

OpenCV中有數百種色彩空間轉換的方法。比較常用的有三種:灰度圖像、BGR以及HSV(Hue,Saturation,Value)。

 

1.灰度圖像:灰度色彩空間是通過去除彩色信息來將其轉換成灰階,灰度色彩空間對中間處理特別有效,比如人臉檢測。


2.BGR:即藍-綠-紅色彩空間,每一個像素點都由一個三元數組來表示,分別代表藍、綠、紅三種顏色。另一個與之相似的顏色空間:RGB,它們只是在顏色的順序上不同。


3.HSV:H(Hue)是色調,S(Saturation)是飽和度,V(Value)表示黑暗的程度(或光譜的另一端的明亮程度)

4.YUV:“Y”表示明亮度(Luminance或Luma),也就是灰階值;而“U”和“V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用於指定像素的顏色。

 

下面看一段代碼來解釋一些圖片色彩空間

import cv2
#引入opencv庫才能使用


#圖片空間色彩轉換
def color_space_demo(image):
    gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)  #灰度圖
    cv2.imshow("gray",gray)
    hsv=cv2.cvtColor(image,cv2.COLOR_BGR2HSV)    #HSV
    cv2.imshow("hsv",hsv)
    yuv=cv2.cvtColor(image,cv2.COLOR_BGR2YUV)    #YUV
    cv2.imshow("yuv", yuv)
    ycrcb = cv2.cvtColor(image, cv2.COLOR_BGR2YCrCb) #YCrCb
    cv2.imshow("ycrcb", ycrcb)


print("-------Hello Python--------")
src=cv2.imread("jjlin.jpg")#讀取照片
cv2.imshow("changed_src",src)#顯示原圖片
color_space_demo(src)
cv2.waitKey(0)
cv2.destroyAllWindows()

(1)原圖

(2)HSV

(3)Gray灰度圖

(4)YUV

 

(5)YCrCb

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