class AprilTag – objekt AprilTag

Objekt apriltag je attrtuple vrácený funkcí Image.find_apriltags(). Každá instance popisuje dekódovaný AprilTag: jeho ohraničující rámeček, subpixelový centroid, rodinu/id, metriky kvality dekodéru, čtyři detekované rohy a – pokud jsou do Image.find_apriltags() předány intrinsické parametry – odhad pozice s 6 stupni volnosti v souřadnicovém systému kamery.

Pole jsou přístupná podle názvu atributu (tag.id) nebo podle indexu (tag[0]). Objekt nemá veřejný konstruktor.

class image.apriltag

Pro vytvoření tohoto objektu zavolejte Image.find_apriltags().

Ohraničující rámeček a rohy

x

Souřadnice x levého horního rohu ohraničujícího rámečku, v pixelech. Celé číslo. Index [0].

y

Souřadnice y levého horního rohu ohraničujícího rámečku, v pixelech. Celé číslo. Index [1].

w

Šířka ohraničujícího rámečku, v pixelech. Celé číslo. Index [2].

h

Výška ohraničujícího rámečku, v pixelech. Celé číslo. Index [3].

cx

Souřadnice x centroidu, zaokrouhlená na int. Celé číslo. Index [4].

cy

Souřadnice y centroidu, zaokrouhlená na int. Celé číslo. Index [5].

cxf

Souřadnice x centroidu jako subpixelový float. Index [9].

cyf

Souřadnice y centroidu jako subpixelový float. Index [10].

corners

4-tice (x, y) celočíselných tic pro čtyři detekované rohy tagu, seřazené ve směru hodinových ručiček počínaje levým horním rohem. Index [21].

area

Plocha ohraničujícího rámečku (w * h). Celé číslo. Index [22].

rect

4-tice (x, y, w, h) ohraničujícího rámečku. Vhodné pro přímé předání metodám kreslení/ořezu, jako jsou Image.draw_rectangle() nebo Image.crop(). Index [23].

Identifikace

id

Číselné id tagu v rámci jeho rodiny. Platný rozsah závisí na rodině (např. 0 – 586 pro TAG36H11). Celé číslo. Index [6].

family

Číselný identifikátor rodiny, jeden z:

Celé číslo. Index [7].

name

Název rodiny jako řetězec, např. "TAG36H11". Index [8].

Kvalita shody

decision_margin

Kvalita shody tagu v rozsahu 0.0 – 1.0, kde 1.0 je nejlepší. Použijte ji k odmítnutí detekcí s nízkou spolehlivostí. Float. Index [12].

hamming

Počet bitových chyb, které dekodér pro tento tag akceptoval. Omezeno opravnou schopností rodiny:

  • TAG16H5 -> až 0 bitových chyb

  • TAG25H9 -> až 3 bitové chyby

  • TAG36H10 -> až 3 bitové chyby

  • TAG36H11 -> až 4 bitové chyby

Nižší je lepší. Celé číslo. Index [13].

goodness

Kvalita obrazu tagu v rozsahu 0.0 – 1.0, kde 1.0 je nejlepší. V aktuálně vydaném firmwaru vždy 0.0 (podkladový dekodér tuto metriku již nepočítá). Float. Index [14].

Odhad pozice

Níže uvedená pole translace a rotace jsou vyplněna pouze tehdy, když je Image.find_apriltags() voláno s intrinsickými parametry kamery fx, fy, cx a cy. Bez intrinsických parametrů jsou 0.0. Předpokládá se, že tag je 1 jednotku široký, takže translace jsou v „šířkách tagu“ – vynásobte skutečnou velikostí tagu, abyste získali metrické vzdálenosti.

x_translation

Translace X od kamery (vlevo-vpravo) v šířkách tagu. Float. Index [15].

y_translation

Translace Y od kamery (nahoru-dolů) v šířkách tagu. Float. Index [16].

z_translation

Translace Z od kamery (dopředu-dozadu) v šířkách tagu. Float. Index [17].

x_rotation

Rotace kolem osy X (pitch) v radiánech. Float. Index [18].

y_rotation

Rotace kolem osy Y (yaw) v radiánech. Float. Index [19].

z_rotation

Rotace kolem osy Z (roll) v radiánech. Stejná hodnota jako rotation – duplikováno kvůli symetrii s x_rotation a y_rotation. Float. Index [20].

rotation

Rotace tagu v rovině obrazu v radiánech. Rovná se z_rotation. Float. Index [11].