本人先通过学习OPENMV,再延申到K210中。(主要是OPENMV我还没买屏幕,但是K210有)在OPENMV官网中,有相关追小球的函数,但是是用OPENMV单片机来进行调试的。在网上找到的相关源码,加载到OPENMV后发现帧数很慢。
学校实训的要求是要做出能追一定物体的平衡小车,我的小车的机构通过STM32F1Z8T6来进行控制,K210进行识别传输实时数据。
1,通过函数img.draw_rectangle(b[0:4]) ;可以得到画出目标的矩形框中的中心点X轴坐标和矩形框的大小SIZE。这两个数据前者可以用来判断转向环,后者可以用来判断前进和后退。
x_pos = b[5]#中心位置
Size = b.area()
通过实验测试,我得到了X:2~320范围,SIZE:2000~15000
2,但是K210给32发送的是字符串,并且字符串的位数不确定,导致32用于接收到的字符串所存放的数组长度不确定,无法正常的转化数据。
为了方便的使用,我们在K210的发送函数中修改。
将X和SIZE字符串强制转化为固定位数的(在PYthon环境中)
X = '%03d' % x_pos
S = '%05d' % Size
并设置发送出的帧头和帧尾给最终发送的数据DATA
DATA = 'x' + X + S + 's'
以上情况是当K210'看到'目标的时候进行的操作.
3,若没有找到目标的时候呢??
我是这样操作的: