import cv2 import numpy as np

==cv2.inRange(hsv, lower, upper)==

图片

1
2
3
4
5
6
7
8
9
10
11
12
13
image=cv2.imread('lingbosize.png')
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

lower = np.array([2, 153, 101])
upper = np.array([2, 195, 153])

mask = cv2.inRange(hsv, lower, upper)
res = cv2.bitwise_and(image, image, mask=mask)
cv2.imshow('image', image)
cv2.imshow('mask', mask)
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

视频流

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cap=cv2.VideoCapture(0)
while(1):
ret,image=cap.read()
hsv=cv2.cvtColor(image,cv2.COLOR_BGR2HSV)

lower=np.array([100,60,100])
upper=np.array([120,120,180])

mask=cv2.inRange(hsv,lower,upper)
res=cv2.bitwise_and(image,image,mask=mask)
cv2.imshow('image',image)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
#cv2.waitKey(0)
k=cv2.waitKey(5)&0xff
if k==27:
break
cv2.destroyAllWindows()