AI嵌入式K210项目(26)-二维码识别_k210识别二维码c(2)

img
img

既有适合小白学习的零基础资料,也有适合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不支持解析这类文本。

总结

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**

如果你需要这些资料,可以戳这里获取

要在 Arduino 和 K210 之间通过串口 UART 实现两个二维码识别,你需要以下几个步骤: 1. 在 Arduino 上发送摄像头图像数据到 K210。 2. 在 K210 上接收并处理来自 Arduino 的图像数据。 3. 使用 K210 上的二维码识别库进行二维码的解码。 4. 将解码结果发送回 Arduino。 下面是一个简单的示例代码,展示了如何在 Arduino 和 K210 之间通过串口 UART 实现这个过程: Arduino 代码: ```cpp #include <SoftwareSerial.h> SoftwareSerial k210Serial(10, 11); // 设置与 K210 通信的串口引脚 void setup() { Serial.begin(9600); k210Serial.begin(115200); // 设置与 K210 通信的串口波特率 delay(1000); Serial.println("K210 Communication Initialized."); } void loop() { // 获取摄像头图像数据并发送到 K210 // 这里需要根据你的实际情况添加相应的代码 } ``` K210 代码: ```c #include <stdio.h> #include "fpioa.h" #include "uart.h" #include "dvp.h" #include "ov2640.h" #include "plic.h" #define UART_NUM UART_DEVICE_3 void uart_send_data(unsigned char *data, uint32_t len) { uart_send_data(UART_NUM, data, len); } int main(void) { /* 初始化串口 */ uart_init(UART_NUM); /* 配置串口引脚 */ fpioa_set_function(4, FUNC_UART3_RX); fpioa_set_function(5, FUNC_UART3_TX); /* 初始化 DVP 摄像头 */ dvp_init(8); ov2640_init(); dvp_set_xclk_rate(24000000); while (1) { // 接收来自 Arduino 的图像数据 // 这里需要根据你的实际情况添加相应的代码 // 处理图像数据,进行二维码识别 // 这里需要根据你的实际情况添加相应的代码 // 将解码结果发送回 Arduino // 这里需要根据你的实际情况添加相应的代码 } return 0; } ``` 这只是一个简单的示例,你需要根据你的具体情况进行相应的修改和完善。请确保你已经正确连接了 Arduino 和 K210 的串口,并根据实际情况设置引脚和波特率。 希望这个示例能对你有所帮助!如果你有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值