请问怎么识别特定ID的AprilTag?
-
有没有办法识别特定ID的AprilTag?可以讲的详细点吗?
-
直接写一个if判断。
https://docs.singtown.com/micropython/zh/latest/openmvcam/library/omv.image.html#apriltag.id
-
谢谢,有点思路了,不懂再请教
-
for tag in img.find_apriltags(fx=f_x, fy=f_y, cx=c_x, cy=c_y): # 默认为 TAG36H11 #print(tag.id()) img.draw_rectangle(tag.rect(), color = (255, 0, 0)) img.draw_cross(tag.cx(), tag.cy(), color = (0, 255, 0)) print_args = (tag.id(), tag.x_translation(), tag.y_translation(), tag.z_translation(), \ degrees(tag.x_rotation()), degrees(tag.y_rotation()), degrees(tag.z_rotation())) print("ID: %f, Tx: %f, Ty: %f, Tz: %f, Rx: %f, Ry: %f, Rz: %f" % print_args) 像这段代码,如果openmv识别到几个apriltag标志的话,它会出现下面这种情况(只粘贴了两行),把这几个apriltag标志的ID打印出来了,想问一下怎么提取出ID等于15的那个标志呢? ..... ID: 15.000000, Tx: -0.464612, Ty: -2.518064, Tz: -17.411228, Rx: 187.194242, Ry: 43.478470, Rz: 358.177352 ID: 14.000000, Tx: -3.247705, Ty: -1.681922, Tz: -15.471701, Rx: 152.212372, Ry: 328.892517, Rz: 3.846272 ......
-
for tag in img.find_apriltags(fx=f_x, fy=f_y, cx=c_x, cy=c_y): # 默认为 TAG36H11 if tag.id() == 15: img.draw_rectangle(tag.rect(), color = (255, 0, 0)) img.draw_cross(tag.cx(), tag.cy(), color = (0, 255, 0)) print_args = (tag.id(), tag.x_translation(), tag.y_translation(), tag.z_translation(), \ degrees(tag.x_rotation()), degrees(tag.y_rotation()), degrees(tag.z_rotation())) print("ID: %f, Tx: %f, Ty: %f, Tz: %f, Rx: %f, Ry: %f, Rz: %f" % print_args)