HSV过滤图片的操作
H(色调):0-180
S(饱和度):0-255
V(黑暗的程度):0-255
下图是HSV的颜色的取值范围,根据范围取值可以过滤掉某种颜色:
import cv2
import numpy as np
#视频的色彩处理
def extrace_object_demo():
capture = cv2.VideoCapture("jackma.mp4") #打开视频文件
while( True ):
ret,frame = capture.read()#读取视频
if ret == False:#如果打开失败,跳出循环
break;
hsv=cv2.cvtColor(frame,cv2.COLOR_BGR2HSV)#进行色彩值转换,RGB到HSV
lower_hsv = np.array([0,0,0])#色彩范围h s v三变量的最小取值
upper_hsv = np.array([180, 255, 46])#色彩范围h s v三变量的最小取值
mask=cv2.inRange(hsv,lowerb=lower_hsv,upperb=upper_hsv)#进行色值去范围,取出对应的色彩范围进行过滤
dst=cv2.bitwise_and(frame,frame,mask) #进行过滤frame=frame&mask
cv2.imshow("dst",dst)
c=cv2.waitKey(40)
if c==27:
break
print("-------Hello Python--------")
extrace_object_demo() #色彩过滤
cv2.waitKey(0)
cv2.destroyAllWindows()