如何使用OpenCV在范围内只读一次对象

2024-06-07 22:49:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如果对象在范围内显示多次,如何在范围内只读取一次对象。在这个对象上,我检测blob,如果所有blob都在范围内,我就对它们进行计数。我不能确定物体显示的确切位置,因为物体的位置不同。你知道吗

while (True):
    ret, frame = cap.read()

    pictureWithRectangle = cv2.rectangle(frame, (250, 70), (500, 300), (255, 0, 0),
                                         1)  # obszar z którego odczytywac bede

    finder = cv2.SimpleBlobDetector_create()

    keypoints = finder.detect(pictureWithRectangle)

    picture = cv2.drawKeypoints(img_out, keypoints, np.array([]), (0, 0, 255),
                                cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)

    cv2.imshow('frame', picture)

    kropeczki = 0
    for dotes in keypoints:
        if (dotes.pt[0] > 250 and dotes.pt[0] < 500):  # oś x odczytanych kropek na zdjęciu
            kropeczki += 1
            if (kropeczki == len(keypoints)):
        # zrob cos

Tags: 对象ptiffindercv2frameblob物体

热门问题