我已經編寫了檢測淺粉色的代碼。現在我想添加一個代碼,它會在檢測到淡粉色後自動關閉網絡攝像頭。你能幫我解決這個問題嗎? 這裏的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