class AprilTag – objet AprilTag¶
L’objet apriltag est un attrtuple renvoyé par Image.find_apriltags(). Chaque instance décrit un AprilTag décodé : sa boîte englobante, son centroïde sous-pixel, sa famille/son identifiant, ses métriques de qualité de décodage, les quatre coins détectés et – lorsque les paramètres intrinsèques sont fournis à Image.find_apriltags() – une estimation de pose à 6 degrés de liberté dans le repère de la caméra.
Les champs sont accessibles par nom d’attribut (tag.id) ou par index (tag[0]). L’objet n’a pas de constructeur public.
- class image.apriltag¶
Veuillez appeler
Image.find_apriltags()pour créer cet objet.Boîte englobante et coins¶
- x¶
Coordonnée x du coin supérieur gauche de la boîte englobante, en pixels. Entier. Index
[0].
- y¶
Coordonnée y du coin supérieur gauche de la boîte englobante, en pixels. Entier. Index
[1].
- w¶
Largeur de la boîte englobante, en pixels. Entier. Index
[2].
- h¶
Hauteur de la boîte englobante, en pixels. Entier. Index
[3].
- cx¶
Coordonnée x du centroïde, arrondie à un entier. Entier. Index
[4].
- cy¶
Coordonnée y du centroïde, arrondie à un entier. Entier. Index
[5].
- cxf¶
Coordonnée x du centroïde sous forme de float sous-pixel. Index
[9].
- cyf¶
Coordonnée y du centroïde sous forme de float sous-pixel. Index
[10].
- corners¶
Quadruplet de tuples entiers
(x, y)pour les quatre coins détectés du tag, triés dans le sens horaire à partir du coin supérieur gauche. Index[21].
- area¶
Aire de la boîte englobante (
w * h). Entier. Index[22].
- rect¶
Quadruplet
(x, y, w, h)de la boîte englobante. Adapté pour être passé directement à des méthodes de dessin/rognage telles queImage.draw_rectangle()ouImage.crop(). Index[23].
Identification¶
- id¶
Identifiant numérique du tag au sein de sa famille. La plage valide dépend de la famille (p. ex. 0 – 586 pour
TAG36H11). Entier. Index[6].
- family¶
Identifiant numérique de famille, l’un de :
Entier. Index
[7].
- name¶
Nom de la famille sous forme de chaîne, p. ex.
"TAG36H11". Index[8].
Qualité de correspondance¶
- decision_margin¶
Qualité de la correspondance du tag dans la plage 0.0 – 1.0 où 1.0 est la meilleure. Utilisez-la pour rejeter les détections peu fiables. Float. Index
[12].
- hamming¶
Nombre d’erreurs de bits que le décodeur a acceptées pour ce tag. Limité par la capacité de correction de la famille :
TAG16H5-> jusqu’à 0 erreur de bitTAG25H9-> jusqu’à 3 erreurs de bitTAG36H10-> jusqu’à 3 erreurs de bitTAG36H11-> jusqu’à 4 erreurs de bit
Plus c’est bas, mieux c’est. Entier. Index
[13].
- goodness¶
Qualité d’image du tag dans la plage 0.0 – 1.0 où 1.0 est la meilleure. Actuellement toujours 0.0 dans le micrologiciel publié (le décodeur sous-jacent ne calcule plus cette métrique). Float. Index
[14].
Estimation de pose¶
Les champs de translation et de rotation ci-dessous ne sont renseignés que lorsque
Image.find_apriltags()est appelée avec les paramètres intrinsèques de camérafx,fy,cxetcy. Sans paramètres intrinsèques, ils valent 0.0. Le tag est supposé large de 1 unité, de sorte que les translations sont exprimées en « largeurs de tag » – multipliez par la taille réelle du tag pour obtenir des distances métriques.- x_translation¶
Translation X par rapport à la caméra (gauche-droite) en largeurs de tag. Float. Index
[15].
- y_translation¶
Translation Y par rapport à la caméra (haut-bas) en largeurs de tag. Float. Index
[16].
- z_translation¶
Translation Z par rapport à la caméra (avant-arrière) en largeurs de tag. Float. Index
[17].
- x_rotation¶
Rotation autour de l’axe X (tangage) en radians. Float. Index
[18].
- y_rotation¶
Rotation autour de l’axe Y (lacet) en radians. Float. Index
[19].
- z_rotation¶
Rotation autour de l’axe Z (roulis) en radians. Même valeur que
rotation– dupliquée par symétrie avecx_rotationety_rotation. Float. Index[20].
- rotation¶
Rotation du tag dans le plan de l’image en radians. Égale à
z_rotation. Float. Index[11].