目錄:
(一)呼叫轉換函式實現影象色彩空間轉換------ 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...