python實現色彩空間轉換

2022-06-29 11:54:16 字數 2218 閱讀 5941

目錄:

(一)呼叫轉換函式實現影象色彩空間轉換------ cv2.cvtcolor函式

正文:(一)呼叫轉換函式實現影象色彩空間轉換------ cv2.cvtcolor函式

cvtcolor(src,code,dst=none,dstcn=none),作用:將一幅影象從乙個色彩空間轉換到另乙個色彩,空間引數:code,轉換的色彩空間。

bgr---》gray,bgr---》hsv,bgr---》yuv,bgr--》ycrcb
1

#色彩空間轉換

hsv色彩空間說明: h:0-180  s: 0-255 v: 0-255

利用cv2.inrange函式設閾值,這裡注意用的顏色空間是hsv。hsv:hsv顏色空間是孟塞爾彩色空間的簡化形式,是一種基於感知的顏色模型。它將彩色訊號分為3種屬性:色調(hue,h),飽和度(saturation,s),亮度(value,v)。色調表示從乙個物體反射過來的或透過物體的光波長,也就是說,色調是由顏色的名稱來辨別的,如紅、黃、藍;亮度是顏色的明暗程度;飽和度是顏色的深淺,如深紅、淺紅。

hsv顏色空間反映了人觀察色彩的方式,具有兩個顯著的特點:

可以根據右表來確定lower_hsv, upper_hsv的取值。

1

#-*- coding=gbk -*-

2import

cv2 as cv

3import

numpy as np45

6def

nextrace_object_demo():

7 capture = cv.videocapture("

g:/1.mp4

")#8

while

true:

9 ret, frame =capture.read()

10if ret ==false:

11break

12 hsv = cv.cvtcolor(frame, cv.color_bgr2hsv)#

轉換色彩空間為hsv13#

14 lower_hsv = np.array([0, 0, 221])#

設定過濾的顏色的低值

15 upper_hsv = np.array([180, 30, 255])#

設定過濾的顏色的高值

16 mask = cv.inrange(hsv, lower_hsv, upper_hsv)#

調節影象顏色資訊(h)、飽和度(s)、亮度(v)區間,選擇白色區域

17 cv.imshow("

video

", frame)

18 cv.imshow("

mask

", mask)

19if cv.waitkey(50) & 0xff == ord('q'

):20

break

2122

nextrace_object_demo()

23cv.waitkey(0)

24 cv.destroyallwindows()、

參考:

色彩空間轉換

rgb轉換為yuv void rgb2yuv double r,double g,double b,double y,double u,double v yuv轉換為rgb void yuv2rgb double y,double u,double v,double r,double g,doubl...

色彩空間轉換

rgb轉換為yuv void rgb2yuv double r,double g,double b,double y,double u,double v yuv轉換為rgb void yuv2rgb double y,double u,double v,double r,double g,doubl...

色彩空間轉換

rgb轉換為yuv void rgb2yuv double r,double g,double b,double y,double u,double v yuv轉換為rgb void yuv2rgb double y,double u,double v,double r,double g,doubl...