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 :

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)]
Je veux donc récuperer 175 et 283
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()