我已经编写了检测浅粉色的代码。现在我想添加一个代码,它会在检测到淡粉色后自动关闭网络摄像头。你能帮我解决这个问题吗? 这里的EDITED代码:在检测到特定颜色后停止摄像头
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(1):
_, frame = cap.read()
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
lower_pink = np.array([160,50,50])
upper_pink = np.array([180,255,255])
mask = cv2.inRange(hsv, lower_pink, upper_pink)
# Bitwise-AND mask and original image
res = cv2.bitwise_and(frame,frame, mask= mask)
cv2.imshow('frame',frame)
cv2.imshow('mask',mask)
cv2.imshow('res',res)
break
if(cv2.countNonZero(mask) > 0):
print("FOUND")
raise SystemExit
cv2.destroyAllWindows()
当你的面具说你已经找到了粉红色的颜色时(即至少掩模中的某些数量的像素不为零),你可以退出。就像是; 'if(cv2.countNonZero(mask)> threshold):break' – Miki
我是图像处理和所有这些新手。那么你可以添加我应该写的阈值吗? 因为当我把它归零并运行代码。窗口(hsv,mask,res)以毫秒关闭。 – Maxi
你的粉红色斑点的最小尺寸是多少?你应该确保不要因为一些嘈杂的粉红点而关闭。您可以将其设置为10,20,50,100,并查看最佳效果。更好的方法是获得面罩中最大斑点的尺寸,并将其退出足够大。对于嘈杂点,这将更加健壮。 – Miki