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].