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
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()
|