клас 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].