Как распознать и посчитать круги в прямоугольнике? - PullRequest
0 голосов
/ 21 января 2020

Я бы хотел посчитать, сколько кругов в прямоугольниках 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]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...