class 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].