class AprilTag -- AprilTag 物件¶
apriltag 物件是由 Image.find_apriltags() 傳回的 attrtuple。每個實例描述一個已解碼的 AprilTag:其邊界框、次像素質心、family/id、解碼器品質指標、四個偵測到的角點,以及 -- 當提供內參給 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¶
標籤四個偵測到角點的
(x, y)整數 tuple 所組成的 4-tuple,從左上角開始依順時針排序。索引[21]。
- area¶
邊界框的面積 (
w * h)。整數。索引[22]。
- rect¶
邊界框的
(x, y, w, h)4-tuple。適合直接傳給Image.draw_rectangle()或Image.crop()等繪製/裁切方法。索引[23]。
辨識¶
- id¶
標籤在其 family 內的數字 id。有效範圍取決於 family(例如
TAG36H11為 0 -- 586)。整數。索引[6]。
- family¶
數字 family 識別碼,為以下之一:
整數。索引
[7]。
- name¶
family 名稱,字串形式,例如
"TAG36H11"。索引[8]。
匹配品質¶
- decision_margin¶
標籤匹配的品質,範圍為 0.0 -- 1.0,其中 1.0 為最佳。可用此值剔除低信心度的偵測。浮點數。索引
[12]。
- hamming¶
解碼器為此標籤所接受的位元錯誤數。受 family 的糾錯能力所限制:
TAG16H5-> 最多 0 個位元錯誤TAG25H9-> 最多 3 個位元錯誤TAG36H10-> 最多 3 個位元錯誤TAG36H11-> 最多 4 個位元錯誤
越低越好。整數。索引
[13]。
- goodness¶
標籤的影像品質,範圍為 0.0 -- 1.0,其中 1.0 為最佳。在已發布的韌體中目前一律為 0.0(底層解碼器不再計算此指標)。浮點數。索引
[14]。
位姿估計¶
下方的平移與旋轉欄位僅在以
fx、fy、cx與cy相機內參呼叫Image.find_apriltags()時才會被填入。若沒有內參,這些欄位皆為 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]。