You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
940 B
Python

import cv2
import numpy as np
import utils
import cv_maze
camera = cv2.VideoCapture(0)
camera.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
while utils.wait_frame():
ret, frame = camera.read()
if not ret:
break
utils.display_image("Camera", frame)
# convert the image to grayscale
image_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# extract the tags
tag_registry = utils.extract_tags_dict_single(image_gray)
# draw borders around the tags
for r in tag_registry.values():
(ptA, ptB, ptC, ptD) = r.corners
cv2.line(frame, np.int32(ptA), np.int32(ptB), (0, 255, 0), 5)
cv2.line(frame, np.int32(ptB), np.int32(ptC), (0, 255, 0), 5)
cv2.line(frame, np.int32(ptC), np.int32(ptD), (0, 255, 0), 5)
cv2.line(frame, np.int32(ptD), np.int32(ptA), (0, 255, 0), 5)
utils.display_image("Tags", frame)
camera.release()