клас AprilTag – об’єкт AprilTag#
Об’єкт apriltag — це attrtuple, повернутий Image.find_apriltags(). Кожен екземпляр описує розпізнаний AprilTag: його обмежувальний прямокутник, субпіксельний центроїд, сімейство/ідентифікатор, метрики якості декодера, чотири виявлені кути, а також — якщо до Image.find_apriltags() передано внутрішні параметри камери — оцінку позиції з 6 ступенями свободи в системі координат камери.
Поля доступні за назвою атрибута (tag.id) або за індексом (tag[0]). Об’єкт не має публічного конструктора.
- class image.apriltag#
Для створення цього об’єкта використовуйте
Image.find_apriltags().Обмежувальний прямокутник та кути#
- x#
Координата x лівого верхнього кута обмежувального прямокутника, у пікселях. Ціле число. Індекс
[0].
- y#
Координата y лівого верхнього кута обмежувального прямокутника, у пікселях. Ціле число. Індекс
[1].
- w#
Ширина обмежувального прямокутника, у пікселях. Ціле число. Індекс
[2].
- h#
Висота обмежувального прямокутника, у пікселях. Ціле число. Індекс
[3].
- cx#
Координата x центроїда, округлена до цілого числа. Ціле число. Індекс
[4].
- cy#
Координата y центроїда, округлена до цілого числа. Ціле число. Індекс
[5].
- cxf#
Координата x центроїда як субпіксельне число з плаваючою комою. Індекс
[9].
- cyf#
Координата y центроїда як субпіксельне число з плаваючою комою. Індекс
[10].
- corners#
4-елементний кортеж з кортежів
(x, y)цілих чисел для чотирьох виявлених кутів тегу, відсортованих за годинниковою стрілкою починаючи з верхнього лівого кута. Індекс[21].
- area#
Площа обмежувального прямокутника (
w * h). Ціле число. Індекс[22].
- rect#
4-елементний кортеж
(x, y, w, h)обмежувального прямокутника. Підходить для безпосередньої передачі до методів малювання/обрізання, таких якImage.draw_rectangle()абоImage.crop(). Індекс[23].
Ідентифікація#
- id#
Числовий ідентифікатор тегу в межах його сімейства. Допустимий діапазон залежить від сімейства (наприклад, 0 – 586 для
TAG36H11). Ціле число. Індекс[6].
- family#
Числовий ідентифікатор сімейства, одне з:
Ціле число. Індекс
[7].
- name#
Назва сімейства у вигляді рядка, наприклад
"TAG36H11". Індекс[8].
Якість збігу#
- decision_margin#
Якість розпізнавання тегу в діапазоні від 0.0 до 1.0, де 1.0 — найкраще. Використовуйте це значення для відхилення виявлень з низькою достовірністю. Число з плаваючою комою. Індекс
[12].
- hamming#
Кількість бітових помилок, прийнятих декодером для цього тегу. Обмежена можливостями виправлення помилок сімейства:
TAG16H5-> до 0 бітових помилокTAG25H9-> до 3 бітових помилокTAG36H10-> до 3 бітових помилокTAG36H11-> до 4 бітових помилок
Менше — краще. Ціле число. Індекс
[13].
- goodness#
Якість зображення тегу в діапазоні від 0.0 до 1.0, де 1.0 — найкраще. На поточний момент завжди 0.0 у випущеній мікропрограмі (базовий декодер більше не обчислює цю метрику). Число з плаваючою комою. Індекс
[14].
Оцінка позиції#
Наведені нижче поля трансляції та обертання заповнюються лише тоді, коли
Image.find_apriltags()викликається з внутрішніми параметрами камериfx,fy,cxтаcy. Без внутрішніх параметрів вони дорівнюють 0.0. Передбачається, що тег має ширину 1 одиниця, тому трансляції виражені у «ширинах тегу» — помножте на реальний розмір тегу для отримання метричних відстаней.- x_translation#
Трансляція по осі X від камери (ліворуч-праворуч) у ширинах тегу. Число з плаваючою комою. Індекс
[15].
- y_translation#
Трансляція по осі Y від камери (вгору-вниз) у ширинах тегу. Число з плаваючою комою. Індекс
[16].
- z_translation#
Трансляція по осі Z від камери (вперед-назад) у ширинах тегу. Число з плаваючою комою. Індекс
[17].
- x_rotation#
Обертання навколо осі X (тангаж) у радіанах. Число з плаваючою комою. Індекс
[18].
- y_rotation#
Обертання навколо осі Y (рискання) у радіанах. Число з плаваючою комою. Індекс
[19].
- z_rotation#
Обертання навколо осі Z (крен) у радіанах. Таке саме значення, як
rotation— дубльовано для симетрії зx_rotationтаy_rotation. Число з плаваючою комою. Індекс[20].
- rotation#
Обертання тегу в площині зображення в радіанах. Дорівнює
z_rotation. Число з плаваючою комою. Індекс[11].