commentaires

This commit is contained in:
Leonardo Blavignac 2022-12-08 16:20:17 +01:00
parent 9dd0832b16
commit 7d4c03300e

View file

@ -30,8 +30,8 @@ ARUCO_DICT = {
"DICT_APRILTAG_36h11": cv2.aruco.DICT_APRILTAG_36h11 "DICT_APRILTAG_36h11": cv2.aruco.DICT_APRILTAG_36h11
} }
cap = cv2.VideoCapture(0) cap = cv2.VideoCapture(0) # id 0 camera standart systeme
aruco_dict = cv2.aruco.Dictionary_get(cv2.aruco.DICT_ARUCO_ORIGINAL) aruco_dict = cv2.aruco.Dictionary_get(cv2.aruco.DICT_ARUCO_ORIGINAL) #style TO DO utiliser celui de la compete
aruco_params = cv2.aruco.DetectorParameters_create() aruco_params = cv2.aruco.DetectorParameters_create()
if (cap.isOpened() == False): if (cap.isOpened() == False):
raise("error opening video input") raise("error opening video input")
@ -41,10 +41,12 @@ while cap.isOpened() == True:
if ret == True: if ret == True:
frame = imutils.resize(frame, width=1000) frame = imutils.resize(frame, width=1000) # resize chaque frame en 1000x1000
(corners, ids, rejected) = cv2.aruco.detectMarkers(frame,aruco_dict, parameters=aruco_params) (corners, ids, rejected) = cv2.aruco.detectMarkers(frame,aruco_dict, parameters=aruco_params) # corners position dans la frame des coins du code
if len(corners) > 0: # id de touts les codes detectées(peut être liste de int)
ids = ids.flatten() #
if len(corners) > 0: #si code détectée,
ids = ids.flatten() # affiche dans le frame video la position des codes et leur ID
for (markerCorner, markerID) in zip(corners, ids): for (markerCorner, markerID) in zip(corners, ids):
corners = markerCorner.reshape((4, 2)) corners = markerCorner.reshape((4, 2))
(topLeft, topRight, bottomRight, bottomLeft) = corners (topLeft, topRight, bottomRight, bottomLeft) = corners
@ -67,11 +69,11 @@ while cap.isOpened() == True:
cv2.FONT_HERSHEY_SIMPLEX, cv2.FONT_HERSHEY_SIMPLEX,
0.5, (0, 255, 0), 2) 0.5, (0, 255, 0), 2)
cv2.imshow("Frame", frame) cv2.imshow("Frame", frame) # affiche frame dans l'ecran
cv2.imshow('Frame',frame) cv2.imshow('Frame',frame)
if cv2.waitKey(25) & 0XFF == ord('q'): if cv2.waitKey(25) & 0XFF == ord('q'): # fermeture fenetre video
break break
else: else:
break break
@ -79,3 +81,4 @@ while cap.isOpened() == True:
cap.release() cap.release()
cv2.destroyAllWindows() cv2.destroyAllWindows()
#si le code ne detecte pas, vérifier bien le type de aruco code et s'il est entourée d'un carrée blanc