This commit is contained in:
NikolajDanger
2022-09-21 11:03:52 +02:00
parent e10495e64e
commit 7c1cdb004d

View File

@ -1,4 +1,7 @@
from time import sleep
import cv2
from .robot import Robot
START_VALUES = [60, 60]
@ -78,6 +81,38 @@ class Arlo():
sleep((angle * self.timing[3])/1000)
self.robot.stop()
def find_aruco(self):
image = self.robot.take_photo()
aruco_dict = cv2.aruco.Dictionary_get(cv2.aruco.DICT_6X6_250)
aruco_params = cv2.aruco.DetectorParameters_create()
corners, ids, _ = cv2.aruco.detectMarkers(
image,
aruco_dict,
parameters=aruco_params
)
for bounding, n in zip(corners, ids):
bounding_box = [(int(x), int(y)) for x, y in bounding.reshape((4,2))]
print(bounding_box)
cv2.line(image, bounding_box[0], bounding_box[1], (0,255,0), 2)
cv2.line(image, bounding_box[1], bounding_box[2], (0,255,0), 2)
cv2.line(image, bounding_box[2], bounding_box[3], (0,255,0), 2)
cv2.line(image, bounding_box[3], bounding_box[0], (0,255,0), 2)
cv2.putText(
image,
str(n[0]),
(bounding_box[0][0] - 10, bounding_box[0][1] - 10),
cv2.FONT_HERSHEY_COMPLEX,
0.8,
(0,255,0),
2
)
return image
def _decode_calibration_code(self) -> None:
wheel_values_hex, timing_hex = tuple(self.calibration_code.split("_"))
self.wheel_values = [
@ -135,3 +170,4 @@ class Arlo():
)
time_hex = "-".join([format(i, "x") for i in time])
self.calibration_code = f"{values_hex}_{time_hex}"
print("Calibration code:", self.calibration_code)