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()