OPENMV
openmv是什么和k210的一些对比
用到python语言(这是一种面向过程的语言)
openmv和k210对比起来像素更高色彩更好也更贵算力不高如果要跑神经网络需要用k210
k210在使用时比openmv更加发烫,所以k210的稳定性没有openmv高
所以再跑一些矩形识别颜色识别啊建议使用openmv如果要跑一些像数字识别图像识别之类的就用k210
如果你需要学习一下python这门语言
这里有一些网址可以提供给你学习
菜鸟教程:Python 基础教程 | 菜鸟教程
廖雪峰教程:Python教程 - 廖雪峰的官方网站
python语言的编写时要注意缩进对代码的影响
openmv基础
openmv学习网站:
星瞳教程:序言 · OpenMV中文入门教程
库函数查找:MicroPython 函数库 — MicroPython 1.9.2 文档
串口通信
OPENMV端:
data=bytearray([0xa3,0xb3,obj.classid()+1,pos[0],pos[1],oxc3)#帧头+帧头+数字+x坐标+y坐标+帧尾 usart3。write(data)
这串代码是一个openmv串口输出数据包的代码
stm32端:
void USART2_IRQHandler(void) { static int i=0; if(USART_GetITStatus(USART2,USART_IT_RXNE)!= RESET) { openmv_data[i++] = USART_ReceiveData(USART2);//接收数据 if(openmv_data[0]!=0xa3) i=0;//判断第一个帧头是否正确,如果不正确重新接收数据 if((i==2)&&(openmv_data[1]!=0xb3) i=0;//判断第二个帧头是否正确,如果不正确重新接收数据 if(i==6) { if(data[5] == 0xc3)//判断帧尾是否正确,如果不正确重新接收数据 { openmv_num = openmv_data[2]; openmv_x = openmv_data[3]; openmv_y = openmv_data[4];//将接收到的有效数据存储 } i=0; } } }
多模板匹配
同时匹配多模板时帧率会很低,但在某些情况下,同一时间内可以只匹配一个模板
脱机调阈值的方法
将图像二值化
通过命令来调节二值化阈值范围