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 precum Image.draw_rectangle() sau Image.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ți

  • TAG25H9 -> până la 3 erori de biți

  • TAG36H10 -> până la 3 erori de biți

  • TAG36H11 -> 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 camerei fx, fy, cx și cy. 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 cu x_rotation și y_rotation. Float. Index [20].

rotation

Rotația etichetei în planul imaginii, în radiani. Egală cu z_rotation. Float. Index [11].