pico_k210物体检测

1.k210和pico通信

1.1 实验前提

本教程使用的是pico,k210要运行K210-AI(stm32_pico_arduino)里面的程序才能开始实验

pico *1

k210视角模块 1(要有sd卡(里面有带AI的模型)、摄像头)

usb转ttl模块1

1.2 实验接线

接线如图所示:

 

1.3主要代码解析

u1 = UART(1, baudrate=115200, tx=Pin(8), rx=Pin(9), bits=8, parity=None, stop=0)  # 设置波特率和串口号
​
k210_data_class = 0     #例程编号
k210_data_x = 0         #横坐标
k210_data_y = 0         #纵坐标
k210_data_w = 0         #宽度
k210_data_h = 0         #长度
k210_data_id = 0        #标签
k210_data_msg = ""      #信息
​
​
while True:
    while u1.any() >0:
        rxx=u1.read()
        #u1.write(rxx)
        recv_k210_data(rxx) #处理收到的k210信息
    
    if k210_data_class != 0:
        #是物体检测的例程
        if k210_data_class == 9:
            sstr = "x="+str(k210_data_x)  +" y="+str(k210_data_y)  +" w="+str(k210_data_w)  +" h="+str(k210_data_h) +"\r\n"
            u1.write(sstr)
            u1.write(k210_data_msg+'\r\n')
        k210_data_class = 0
​

 

由程序可得

  • k210_data_class :例程编号
  • k210_data_x :是识别出来框左上角的横坐标(范围:0-240)
  • k210_data_y :是识别出来框左上角的纵坐标(范围:0-320)
  • k210_data_w :是识别出来框的宽度(范围:0-240)
  • k210_data_h :是识别出来框的长度(范围:0-320)
  • k210_data_id :是识别出来的标签
  • k210_data_msg :是识别出来的信息

这个处理主要是接到了k210的信息,调用recv_k210_data()进行处理,并把处理完的信息赋值给k210_data_XXX的成员。 注意 如果想二次开发,在不改动k210程序和处理数据的函数前提下,直接调用k210_data_XXX的变量就好(xxx:指的是x\y\w\h\id\msg)

1.4实验现象

  1. 连接好线后,k210视角模块可以脱机运行 k210脱机运行方法
  2. 串口助手设置成如图的界面

    image-2023060700004

  3. 把pico的python固件下进pico,运行本教程提供的物体检测的程序,如何运行pico的python程序,请看pico相关的环境搭建教程,本教程不在阐述
  4. 然后k210跑相关的例程,串口助手就会打印出k210传输给pico的重要信息,下图的现象是物体检测的结果

    image-2023060700005

    本例程只输出x\y\w\h\msg的这5个成员数据 msg:信息是内容为(0.飞机、1.自行车、2.鸟、3.船、4.瓶子、5.公交车、6.小汽车、7.猫、8.椅子、9.奶牛、10.餐桌、11.狗、12.马、13.摩托车、14.人、15.盆栽、16.绵羊、17.沙发、18.火车、19.显示器)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值