Bonjour,
Mon problème est que j'aimerai récuperer les deux premiere valeur de ma list res[0] . Mais je n'y arrive pas j'ai deja essayer de print(res[0,1]) mais j'ai lerreur tuple indices must be integers or slices, not tuple. Si je print res[0] j'ai :
Je veux donc récuperer 175 et 283
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [array([[[175., 283.], [213., 273.], [223., 300.], [183., 313.]]], dtype=float32)]
Lorsque j'affiche le type de res c'est un tuple et lorsque j'affiche le type de res[0] c'est une << class list >>
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 import numpy as np import cv2 cap = cv2.VideoCapture(0) #dictionary = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_5X5_1000) dictionary = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_4X4_100) #dictionary = cv2.aruco.getPredefinedDictionary(cv2.aruco.DICT_ARUCO_ORIGINAL) while(True): # Capture frame-by-frame ret, frame = cap.read() # Our operations on the frame come here gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY) res = cv2.aruco.detectMarkers(gray,dictionary) p=res[0] print(res[0,1]) if len(res[0]) > 0: cv2.aruco.drawDetectedMarkers(gray,res[0],res[1]) # Display the resulting frame cv2.imshow('frame',gray) if cv2.waitKey(1) & 0xFF == ord('q'): break # When everything done, release the capture cap.release() cv2.destroyAllWindows()
Partager