class AprilTag – objeto AprilTag¶
O objeto apriltag é uma attrtuple retornada por Image.find_apriltags(). Cada instância descreve um AprilTag decodificado: sua caixa delimitadora, centroide sub-pixel, família/id, métricas de qualidade do decodificador, os quatro cantos detectados e – quando os parâmetros intrínsecos são fornecidos a Image.find_apriltags() – uma estimativa de pose de 6 graus de liberdade (6-DoF) no referencial da câmera.
Os campos são acessíveis pelo nome do atributo (tag.id) ou por índice (tag[0]). O objeto não possui construtor público.
- class image.apriltag¶
Chame
Image.find_apriltags()para criar este objeto.Caixa delimitadora e cantos¶
- x¶
Coordenada x do canto superior esquerdo da caixa delimitadora, em pixels. Inteiro. Índice
[0].
- y¶
Coordenada y do canto superior esquerdo da caixa delimitadora, em pixels. Inteiro. Índice
[1].
- w¶
Largura da caixa delimitadora, em pixels. Inteiro. Índice
[2].
- h¶
Altura da caixa delimitadora, em pixels. Inteiro. Índice
[3].
- cx¶
Coordenada x do centroide, arredondada para int. Inteiro. Índice
[4].
- cy¶
Coordenada y do centroide, arredondada para int. Inteiro. Índice
[5].
- cxf¶
Coordenada x do centroide como um float sub-pixel. Índice
[9].
- cyf¶
Coordenada y do centroide como um float sub-pixel. Índice
[10].
- corners¶
4-tupla de tuplas inteiras
(x, y)para os quatro cantos detectados da tag, ordenados no sentido horário a partir do canto superior esquerdo. Índice[21].
- area¶
Área da caixa delimitadora (
w * h). Inteiro. Índice[22].
- rect¶
4-tupla
(x, y, w, h)da caixa delimitadora. Adequada para ser passada diretamente a métodos de desenho/recorte comoImage.draw_rectangle()ouImage.crop(). Índice[23].
Identificação¶
- id¶
Id numérico da tag dentro de sua família. A faixa válida depende da família (por exemplo, 0 – 586 para
TAG36H11). Inteiro. Índice[6].
- family¶
Identificador numérico da família, um dentre:
Inteiro. Índice
[7].
- name¶
Nome da família como uma string, por exemplo,
"TAG36H11". Índice[8].
Qualidade da correspondência¶
- decision_margin¶
Qualidade da correspondência da tag na faixa de 0.0 – 1.0, onde 1.0 é a melhor. Use isto para rejeitar detecções de baixa confiança. Float. Índice
[12].
- hamming¶
Número de erros de bit que o decodificador aceitou para esta tag. Limitado pela capacidade de correção da família:
TAG16H5-> até 0 erros de bitTAG25H9-> até 3 erros de bitTAG36H10-> até 3 erros de bitTAG36H11-> até 4 erros de bit
Quanto menor, melhor. Inteiro. Índice
[13].
- goodness¶
Qualidade da imagem da tag na faixa de 0.0 – 1.0, onde 1.0 é a melhor. Atualmente sempre 0.0 no firmware lançado (o decodificador subjacente não calcula mais esta métrica). Float. Índice
[14].
Estimativa de pose¶
Os campos de translação e rotação abaixo são preenchidos apenas quando
Image.find_apriltags()é chamado com os parâmetros intrínsecos da câmerafx,fy,cxecy. Sem os parâmetros intrínsecos, eles são 0.0. Assume-se que a tag tem 1 unidade de largura, então as translações são em “larguras de tag” – multiplique pelo tamanho real da tag para obter distâncias métricas.- x_translation¶
Translação X em relação à câmera (esquerda-direita) em larguras de tag. Float. Índice
[15].
- y_translation¶
Translação Y em relação à câmera (cima-baixo) em larguras de tag. Float. Índice
[16].
- z_translation¶
Translação Z em relação à câmera (frente-trás) em larguras de tag. Float. Índice
[17].
- x_rotation¶
Rotação em torno do eixo X (pitch) em radianos. Float. Índice
[18].
- y_rotation¶
Rotação em torno do eixo Y (yaw) em radianos. Float. Índice
[19].
- z_rotation¶
Rotação em torno do eixo Z (roll) em radianos. Mesmo valor que
rotation– duplicado por simetria comx_rotationey_rotation. Float. Índice[20].
- rotation¶
Rotação no plano da imagem da tag em radianos. Igual a
z_rotation. Float. Índice[11].