如何在特定区域内检测物体

时间:2019-07-25 07:24:43

标签: python opencv

我有一个带有矩形的实时视频流。 我想要的是,如果网球进入矩形,则必须说/打印出。请注意,其中没有用于网球追踪的代码。

def sketch_transform(image):
    image_grayscale = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    image_grayscale_blurred = cv2.GaussianBlur(image_grayscale, (7,7), 0)
    image_canny = cv2.Canny(image_grayscale_blurred, 10, 80)
    _, mask = image_canny_inverted = cv2.threshold(image_canny, 30, 255, cv2.THRESH_BINARY_INV)
    return mask


cam_capture = cv2.VideoCapture(0)
cv2.destroyAllWindows()

#maten van het vierkant
upper_left = (50, 50)
bottom_right = (300, 300)

while True:
    _, image_frame = cam_capture.read()

    # Rectangle marker
    r = cv2.rectangle(image_frame, upper_left, bottom_right, (200, 50, 10), 10)

    rect_img = image_frame[upper_left[1]: bottom_right[1], upper_left[0]: bottom_right[0]]
    sketcher_rect = rect_img
    sketcher_rect = sketch_transform(sketcher_rect)

    # Conversion for 3 channels to put back on original image (streaming)
    sketcher_rect_rgb = cv2.cvtColor(sketcher_rect, cv2.COLOR_GRAY2RGB)

    # Replacing the sketched image on Region of Interest
    image_frame[upper_left[1]: bottom_right[1], upper_left[0]: bottom_right[0]] = sketcher_rect_rgb
    cv2.imshow("Sketcher ROI", image_frame)

    if cv2.waitKey(1) == 13:
     break

cam_capture.release()
cv2.destroyAllWindows()

0 个答案:

没有答案