既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
三、实验过程
导入相关库,并初始化摄像头和LCD显示屏;
import sensor, image, time, lcd
lcd.init()
sensor.reset()
sensor.set\_pixformat(sensor.RGB565)
sensor.set\_framesize(sensor.QVGA)
sensor.skip\_frames(time = 100)
利用内置find_qrcodes函数来查找是否有二维码,如果有则把二维码框出来,并打印出二维码信息。
clock = time.clock()
while(True):
clock.tick()
img = sensor.snapshot()
for code in img.find\_qrcodes():
img.draw\_rectangle(code.rect(), color = 127, thickness=3)
print(code)
lcd.display(img)
#print(clock.fps())
串口信息大小印如下,可以看到二维码信息被正确读取了;
四、API接口
更多API接口可以参考https://developer.canaan-creative.com/canmv/main/canmv/library/index.html
函数 | 说明 |
---|---|
qrcode.corners() | 返回一个由该对象的四个角组成的四个元组(x,y)的列表。四个角通常是按照从左上角开始沿顺时针顺序返回的。 |
qrcode.rect() | 返回一个矩形元组(x, y, w, h),用于如二维码的边界框的 |
qrcode.x() | 返回二维码的边界框的x坐标(int)。索引 [0] 取得这个值。 |
qrcode.y() | 返回二维码的边界框的y坐标(int)。索引 [1] 取得这个值。 |
qrcode.w() | 返回二维码的边界框的w坐标(int)。索引 [2] 取得这个值。 |
qrcode.h() | 返回二维码的边界框的h坐标(int)。索引 [3] 取得这个值。 |
qrcode.payload() | 返回二维码有效载荷的字符串,例如URL 。索引 [4] 取得这个值。 |
qrcode.version() | 返回二维码的版本号(int)。索引 [5] 取得这个值。 |
qrcode.ecc_level() | 返回二维码的ECC水平(int)。索引 [6] 取得这个值。 |
qrcode.mask() | 返回二维码的掩码(int)。索引 [7] 取得这个值。 |
qrcode.data_type() | 返回二维码的数据类型。索引 [8] 取得这个值。 |
qrcode.eci() | 返回二维码的ECI。ECI储存了QR码中存储数据字节的编码。若您想要处理包含超过标准ASCII文本的二维码,您需要查看这一数值。索引 [9] 取得这个值。 |
qrcode.is_numeric() | 若二维码的数据类型为数字式,则返回True。 |
qrcode.is_alphanumeric() | 若二维码的数据类型为文字数字式,则返回True。 |
qrcode.is_binary() | 若二维码的数据类型为二进制式,则返回True。如果您认真处理所有类型的文本,则需要检查eci是否为True,以确定数据的文本编码。通常它只是标准的ASCII,但是它也可能是有两个字节字符的UTF8。 |
qrcode.is_kanji() | 若二维码的数据类型为日本汉字,则返回True。设置为True后,您就需要自行解码字符串,因为日本汉字符号每个字符是10位,而MicroPython不支持解析这类文本。 |
总结
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**