Я бы хотел посчитать, сколько кругов в прямоугольниках c больше 3 секунд. Круги представляют центр объектов, распознаваемых камерой, а прямоугольники stati c представляют собой области интереса, где я хотел бы подсчитать общее количество кругов, которые находятся внутри области интереса в течение более 3 секунд. В настоящее время я могу распознавать объекты в режиме реального времени, находить центр каждого объекта и рисовать прямоугольники, но я не знаю, как сделать остальное. Ниже мой ток пока l oop. Любая помощь будет принята с благодарностью.
while True:
frame = vs.read()
frame = imutils.resize(frame, width=720)
box_one = cv2.rectangle(frame, (30,30), (330,330), color, 2)
box_two = cv2.rectangle(frame, (350,30), (630,330), color, 2)
(h, w) = frame.shape[:2]
blob = cv2.dnn.blobFromImage(cv2.resize(frame, (300, 300)),
0.007843, (300, 300), 127.5)
net.setInput(blob)
detections = net.forward()
for i in np.arange(0, detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > args["confidence"]:
idx = int(detections[0, 0, i, 1])
box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
(startX, startY, endX, endY) = box.astype("int")
label = "{}: {:.2f}%".format(CLASSES[idx],
confidence * 100)
cv2.rectangle(frame, (startX, startY), (endX, endY),
COLORS[idx], 2)
center = ((startX+endX)/2, (startY+endY)/2)
first_value = int(center[0])
second_value = int(center[1])
coordinates = (first_value, second_value)
cv2.circle(frame, coordinates, 5, (255,255,255), -1)
cv2.imshow("Frame", frame)
key = cv2.waitKey(1) & 0xFF
Вывод выглядит так:
![1]](https://i.stack.imgur.com/rFQe0.jpg)