ライトピンクの色を検出するコードを書いています。今度は、ライトピンクの色を検出した後、ウェブカメラを自動的に閉じるコードを追加したいと思います。これで私を助けてくれますか?それは意味的に何のループではありませんので、特定の色を検出したらウェブカメラを停止する
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