k210实例--码的识别
Apriltag标签:AprilTag是一个视觉基准库,在AR,机器人,相机校准领域广泛使用。通过特定的标志(与二维码相似,但是降低了复杂度以满足实时性要求),可以快速地检测标志,并计算相对位置。
相对于二维码,通过AprilTag检测程序可以计算相对于相机的精确3D位置,方向和id。
MaixPy IDE 中在工具-》机器视觉选择中有不同码的生成
种类
AprilTag的种类叫家族(family),有下面的几种:TAG16H5 → 0 to 29
TAG25H7 → 0 to 241
TAG25H9 → 0 to 34
TAG36H10 → 0 to 2319
TAG36H11 → 0 to 586
ARTOOLKIT → 0 to 511代码:import sensor, image, time, math,lcd
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QQVGA)
sensor.skip_frames(30)
sensor.set_auto_gain(False)
sensor.set_auto_whitebal(False)
clock = time.clock()
lcd.init()
while(True):
clock.tick()
lcd.rotation(2)
img = sensor.snapshot()
for tag in img.find_apriltags(families=image.TAG16H5):
img.draw_rectangle(tag.rect(), color = (255, 0, 0))
img.draw_cross(tag.cx(), tag.cy(), color = (0, 255, 0))
degress = 180 * tag.rotation() / math.pi
print(tag.id(),degress)
a=img.draw_string(0, 0, "id:%d"%(tag.id()), color=(0,0,0), scale=2)
lcd.display(a)
lcd.display(img)
注意:img.find_apriltags()函数默认的是TAG36H11,可以在函数里添加families=image.XXXXXXX来识别自己需要的Apriltag标签二维码:二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。import sensor
import machine
import image
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames(10)
sensor.set_hmirror(0)
while True:
img = sensor.snapshot()
code = img.find_qrcodes()
for i in code:
code_text = i.payload()
print(code_text)
页:
[1]