kelas AprilTag -- Objek AprilTag

Objek apriltag adalah attrtuple yang dikembalikan oleh Image.find_apriltags(). Setiap instance mendeskripsikan AprilTag yang telah didekode: kotak pembatasnya, sentroid sub-piksel, keluarga/id, metrik kualitas dekoder, empat sudut yang terdeteksi, dan -- ketika intrinsik disediakan ke Image.find_apriltags() -- estimasi pose 6-DoF dalam bingkai kamera.

Field dapat diakses dengan nama atribut (tag.id) atau dengan indeks (tag[0]). Objek tidak memiliki konstruktor publik.

class image.apriltag

Silakan panggil Image.find_apriltags() untuk membuat objek ini.

Kotak pembatas dan sudut

x

Koordinat x kiri atas kotak pembatas, dalam piksel. Integer. Indeks [0].

y

Koordinat y kiri atas kotak pembatas, dalam piksel. Integer. Indeks [1].

w

Lebar kotak pembatas, dalam piksel. Integer. Indeks [2].

h

Tinggi kotak pembatas, dalam piksel. Integer. Indeks [3].

cx

Koordinat x sentroid, dibulatkan ke int. Integer. Indeks [4].

cy

Koordinat y sentroid, dibulatkan ke int. Integer. Indeks [5].

cxf

Koordinat x sentroid sebagai float sub-piksel. Indeks [9].

cyf

Koordinat y sentroid sebagai float sub-piksel. Indeks [10].

corners

4-tuple dari tuple integer (x, y) untuk empat sudut tag yang terdeteksi, diurutkan searah jarum jam mulai dari sudut kiri atas. Indeks [21].

area

Luas kotak pembatas (w * h). Integer. Indeks [22].

rect

4-tuple (x, y, w, h) dari kotak pembatas. Cocok untuk diteruskan langsung ke metode gambar/pemangkasan seperti Image.draw_rectangle() atau Image.crop(). Indeks [23].

Identifikasi

id

Id numerik tag dalam keluarganya. Rentang valid bergantung pada keluarga (mis. 0 -- 586 untuk TAG36H11). Integer. Indeks [6].

family

Pengenal keluarga numerik, salah satu dari:

Integer. Indeks [7].

name

Nama keluarga sebagai string, mis. "TAG36H11". Indeks [8].

Kualitas pencocokan

decision_margin

Kualitas pencocokan tag dalam rentang 0.0 -- 1.0 di mana 1.0 adalah yang terbaik. Gunakan ini untuk menolak deteksi berkepercayaan rendah. Float. Indeks [12].

hamming

Jumlah kesalahan bit yang diterima dekoder untuk tag ini. Dibatasi oleh kemampuan koreksi keluarga:

  • TAG16H5 -> hingga 0 kesalahan bit

  • TAG25H9 -> hingga 3 kesalahan bit

  • TAG36H10 -> hingga 3 kesalahan bit

  • TAG36H11 -> hingga 4 kesalahan bit

Semakin rendah semakin baik. Integer. Indeks [13].

goodness

Kualitas citra tag dalam rentang 0.0 -- 1.0 di mana 1.0 adalah yang terbaik. Saat ini selalu 0.0 dalam firmware yang dirilis (dekoder yang mendasarinya tidak lagi menghitung metrik ini). Float. Indeks [14].

Estimasi pose

Field translasi dan rotasi di bawah ini hanya diisi ketika Image.find_apriltags() dipanggil dengan intrinsik kamera fx, fy, cx, dan cy. Tanpa intrinsik, nilainya adalah 0.0. Tag diasumsikan memiliki lebar 1 unit, sehingga translasi dalam "lebar tag" -- kalikan dengan ukuran tag dunia nyata untuk mendapatkan jarak metrik.

x_translation

Translasi X dari kamera (kiri-kanan) dalam lebar tag. Float. Indeks [15].

y_translation

Translasi Y dari kamera (atas-bawah) dalam lebar tag. Float. Indeks [16].

z_translation

Translasi Z dari kamera (depan-belakang) dalam lebar tag. Float. Indeks [17].

x_rotation

Rotasi terhadap sumbu X (pitch) dalam radian. Float. Indeks [18].

y_rotation

Rotasi terhadap sumbu Y (yaw) dalam radian. Float. Indeks [19].

z_rotation

Rotasi terhadap sumbu Z (roll) dalam radian. Nilai yang sama dengan rotation -- diduplikasi untuk simetri dengan x_rotation dan y_rotation. Float. Indeks [20].

rotation

Rotasi tag dalam bidang citra dalam radian. Sama dengan z_rotation. Float. Indeks [11].