class AprilTag – obiect AprilTag¶
Obiectul apriltag este un attrtuple returnat de Image.find_apriltags(). Fiecare instanță descrie un AprilTag decodat: caseta sa de încadrare, centroidul sub-pixel, familia/id-ul, metricele de calitate ale decodorului, cele patru colțuri detectate și – atunci când se furnizează parametrii intrinseci la Image.find_apriltags() – o estimare a poziției cu 6 grade de libertate în cadrul camerei.
Câmpurile sunt accesibile după numele atributului (tag.id) sau după index (tag[0]). Obiectul nu are un constructor public.
- class image.apriltag¶
Apelați
Image.find_apriltags()pentru a crea acest obiect.Caseta de încadrare și colțurile¶
- x¶
Coordonata x din stânga-sus a casetei de încadrare, în pixeli. Întreg. Index
[0].
- y¶
Coordonata y din stânga-sus a casetei de încadrare, în pixeli. Întreg. Index
[1].
- w¶
Lățimea casetei de încadrare, în pixeli. Întreg. Index
[2].
- h¶
Înălțimea casetei de încadrare, în pixeli. Întreg. Index
[3].
- cx¶
Coordonata x a centroidului, rotunjită la întreg. Întreg. Index
[4].
- cy¶
Coordonata y a centroidului, rotunjită la întreg. Întreg. Index
[5].
- cxf¶
Coordonata x a centroidului ca float sub-pixel. Index
[9].
- cyf¶
Coordonata y a centroidului ca float sub-pixel. Index
[10].
- corners¶
Tuplu cu 4 elemente de tupluri întregi
(x, y)pentru cele patru colțuri detectate ale etichetei, sortate în sensul acelor de ceasornic începând de la colțul din stânga-sus. Index[21].
- area¶
Aria casetei de încadrare (
w * h). Întreg. Index[22].
- rect¶
Tuplu cu 4 elemente
(x, y, w, h)al casetei de încadrare. Potrivit pentru a fi transmis direct metodelor de desenare/decupare precumImage.draw_rectangle()sauImage.crop(). Index[23].
Identificare¶
- id¶
Id-ul numeric al etichetei în cadrul familiei sale. Intervalul valid depinde de familie (de exemplu 0 – 586 pentru
TAG36H11). Întreg. Index[6].
- family¶
Identificatorul numeric al familiei, una dintre:
Întreg. Index
[7].
- name¶
Numele familiei ca șir de caractere, de exemplu
"TAG36H11". Index[8].
Calitatea potrivirii¶
- decision_margin¶
Calitatea potrivirii etichetei în intervalul 0.0 – 1.0, unde 1.0 este cea mai bună. Folosiți aceasta pentru a respinge detectările cu încredere scăzută. Float. Index
[12].
- hamming¶
Numărul de erori de biți pe care decodorul le-a acceptat pentru această etichetă. Limitat de capacitatea de corecție a familiei:
TAG16H5-> până la 0 erori de bițiTAG25H9-> până la 3 erori de bițiTAG36H10-> până la 3 erori de bițiTAG36H11-> până la 4 erori de biți
Mai mic este mai bine. Întreg. Index
[13].
- goodness¶
Calitatea imaginii etichetei în intervalul 0.0 – 1.0, unde 1.0 este cea mai bună. În prezent întotdeauna 0.0 în firmware-ul lansat (decodorul subiacent nu mai calculează această metrică). Float. Index
[14].
Estimarea poziției¶
Câmpurile de translație și rotație de mai jos sunt populate doar atunci când
Image.find_apriltags()este apelat cu parametrii intrinseci ai camereifx,fy,cxșicy. Fără parametrii intrinseci, acestea sunt 0.0. Se presupune că eticheta are 1 unitate lățime, așa că translațiile sunt exprimate în „lățimi de etichetă” – scalați cu dimensiunea reală a etichetei pentru a obține distanțe metrice.- x_translation¶
Translația X față de cameră (stânga-dreapta) în lățimi de etichetă. Float. Index
[15].
- y_translation¶
Translația Y față de cameră (sus-jos) în lățimi de etichetă. Float. Index
[16].
- z_translation¶
Translația Z față de cameră (înainte-înapoi) în lățimi de etichetă. Float. Index
[17].
- x_rotation¶
Rotația în jurul axei X (pitch) în radiani. Float. Index
[18].
- y_rotation¶
Rotația în jurul axei Y (yaw) în radiani. Float. Index
[19].
- z_rotation¶
Rotația în jurul axei Z (roll) în radiani. Aceeași valoare ca
rotation– duplicată pentru simetrie cux_rotationșiy_rotation. Float. Index[20].
- rotation¶
Rotația etichetei în planul imaginii, în radiani. Egală cu
z_rotation. Float. Index[11].