class AprilTag – oggetto AprilTag#
L’oggetto apriltag è un attrtuple restituito da Image.find_apriltags(). Ciascuna istanza descrive un AprilTag decodificato: il suo bounding box, il centroide sub-pixel, la famiglia/id, le metriche di qualità del decodificatore, i quattro angoli rilevati e – quando vengono forniti i parametri intrinseci a Image.find_apriltags() – una stima della posa a 6 gradi di libertà nel frame della camera.
I campi sono accessibili per nome di attributo (tag.id) o per indice (tag[0]). L’oggetto non ha un costruttore pubblico.
- class image.apriltag#
Chiama
Image.find_apriltags()per creare questo oggetto.Bounding box e angoli#
- x#
Coordinata x dell’angolo in alto a sinistra del bounding box, in pixel. Intero. Indice
[0].
- y#
Coordinata y dell’angolo in alto a sinistra del bounding box, in pixel. Intero. Indice
[1].
- w#
Larghezza del bounding box, in pixel. Intero. Indice
[2].
- h#
Altezza del bounding box, in pixel. Intero. Indice
[3].
- cx#
Coordinata x del centroide, arrotondata a int. Intero. Indice
[4].
- cy#
Coordinata y del centroide, arrotondata a int. Intero. Indice
[5].
- cxf#
Coordinata x del centroide come float sub-pixel. Indice
[9].
- cyf#
Coordinata y del centroide come float sub-pixel. Indice
[10].
- corners#
Tupla a 4 elementi di tuple intere
(x, y)per i quattro angoli rilevati del tag, ordinati in senso orario a partire dall’angolo in alto a sinistra. Indice[21].
- area#
Area del bounding box (
w * h). Intero. Indice[22].
- rect#
Tupla a 4 elementi
(x, y, w, h)del bounding box. Adatta a essere passata direttamente a metodi di disegno/ritaglio comeImage.draw_rectangle()oImage.crop(). Indice[23].
Identificazione#
- id#
Id numerico del tag all’interno della sua famiglia. L’intervallo valido dipende dalla famiglia (ad es. da 0 a 586 per
TAG36H11). Intero. Indice[6].
- family#
Identificatore numerico della famiglia, uno tra:
Intero. Indice
[7].
- name#
Nome della famiglia come stringa, ad es.
"TAG36H11". Indice[8].
Qualità della corrispondenza#
- decision_margin#
Qualità della corrispondenza del tag nell’intervallo da 0.0 a 1.0 dove 1.0 è la migliore. Usala per scartare i rilevamenti a bassa confidenza. Float. Indice
[12].
- hamming#
Numero di errori di bit che il decodificatore ha accettato per questo tag. Limitato dalla capacità di correzione della famiglia:
TAG16H5-> fino a 0 errori di bitTAG25H9-> fino a 3 errori di bitTAG36H10-> fino a 3 errori di bitTAG36H11-> fino a 4 errori di bit
Più basso è meglio. Intero. Indice
[13].
- goodness#
Qualità dell’immagine del tag nell’intervallo da 0.0 a 1.0 dove 1.0 è la migliore. Attualmente sempre 0.0 nel firmware rilasciato (il decodificatore sottostante non calcola più questa metrica). Float. Indice
[14].
Stima della posa#
I campi di traslazione e rotazione sottostanti vengono popolati solo quando
Image.find_apriltags()viene chiamato con i parametri intrinseci della camerafx,fy,cxecy. Senza i parametri intrinseci essi valgono 0.0. Si assume che il tag sia largo 1 unità, quindi le traslazioni sono espresse in «larghezze del tag» – scala per la dimensione reale del tag per ottenere distanze metriche.- x_translation#
Traslazione X dalla camera (sinistra-destra) in larghezze del tag. Float. Indice
[15].
- y_translation#
Traslazione Y dalla camera (su-giù) in larghezze del tag. Float. Indice
[16].
- z_translation#
Traslazione Z dalla camera (avanti-indietro) in larghezze del tag. Float. Indice
[17].
- x_rotation#
Rotazione attorno all’asse X (pitch) in radianti. Float. Indice
[18].
- y_rotation#
Rotazione attorno all’asse Y (yaw) in radianti. Float. Indice
[19].
- z_rotation#
Rotazione attorno all’asse Z (roll) in radianti. Stesso valore di
rotation– duplicato per simmetria conx_rotationey_rotation. Float. Indice[20].
- rotation#
Rotazione nel piano dell’immagine del tag in radianti. Uguale a
z_rotation. Float. Indice[11].