草庐IT

OpenMV图像处理之后给单片机通讯

详细介绍:OpenMV扫码识别;OpenMV串口通讯详解;OpenMV的单颜色识别讲解;MSP430F5529库函数学习——串口目录接线OpenMV代码代码for...in...部分简单介绍stm32代码msp430f5529代码个人一开始以为我写了的这几个博客已经够清楚了,让各大网友正常使用OpenMV图像处理,然后与单片机通讯应该会很简单。但还是有人不知道,我就还是提供一下我的代码。代码就是识别红黄绿三种颜色和二维码信息,识别到颜色分别发送0、1、2。接线接线很简单,就是OpenMV的TX(P4)——单片机RX,RX(P5)——单片机TX,GND——GND,3.3V——3.3V要识别的材料

Openmv第四天之模板匹配

前几天学的内容是只是关于颜色和Apriltag的识别出来,但是如果颜色一样呢?那东西识别出来不就一个玩意儿了,这样是不好的,所以应该就衍生出了模板匹配。你在openmv内存里面给定一个模板图片,也就是你的目标的样子,你就可以根据样子去找一定是这个样子的目标,一定是什么意思呢,一定的意思我理解为是大小形状都要基本上一样,小了不行,大了也不行,形状也要大致相等。采用的是ncc算法,只能匹配与模板图片大小和角度基本一致的图案。局限性相对来说比较大,视野中的目标图案稍微比模板图片大一些或者小一些就可能匹配不成功。那么用处在哪里呢?模板匹配适应于摄像头与目标物体之间距离确定,不需要动态移动的情况。比如适

2022电赛省赛C题-小车跟随行驶系统—视觉篇(openmv)心得体会

目录文章目录前言一、识别整体思路二、识别停车线三、识别内外圈 前言    这次电赛是我第一次参加省级以上的比赛,作为一名即将大三的学生来说有些晚了,况且由于学业紧张,openmv只学习了短短一个多星期左右就赶鸭子上架地上场比赛了。因此这篇文章也来记录一下我在比赛过程中识别方面的思路,控制方面这次比赛只写了一部分代码,可能过段时间整理完后也会写一篇心得体会。一、识别整体思路    此次C题整体识别的任务主要集中在巡线和分辨停车线,岔道口等等,一开始我巡线采用比赛前就写好并测试过的二值化代码,但后来发现二值化的确可以非常准确的识别,但是这个函数的返回值太少了,不像find_blob可以返回色块面积

2022电赛泊车openmv代码

2022电赛泊车openmv代码仅作为比赛参考,具体数值请自己调整注释写的很清楚了importsensor,image,time,math,pybfrompybimportPin,Timer,UART#串口通信uart=pyb.UART(1,115200,timeout_char=1000)#串口初始化#跟踪黑色线条(阈值依据实验条件进行更改)thresholds=(0,40)#五块感性区域ROIS=[#[ROI,weight]越近,权重越大,在这里权值暂时不考虑(30,90,100,30,0),#下面1(40,40,80,40,0),#中间2(30,0,100,30,0),#上面3160*1

OpenMV 2022电赛泊车视觉方案

前言作者第一次参加电赛,也是第一次接触OpenMV,通过几天的学习完成了对车库以及边线巡线的视觉识别方案,分享出来希望能提供一些思路给其他使用OpenMV的朋友。效果展示车库T型连接处识别:巡线的效果忘记截图了,不过代码里有,感兴趣的朋友可以跑一下试试。识别思路本项目主要使用了OpenMV提供的find_blobs()函数,具体的使用方法可以查看官方教程。通过对被场地上黑线分割出来的白色区域进行识别,可以简单有效的识别出车库接缝。首先提取画面中所有的色块,将画面平均分为上下两个部分,以分类上下两种色块。当未到达车库连接处时,画面中仅有一条黑线,画面将被分割为上下两个部分,上下各一块。当画面中出

OpenMV颜色阈值设置

OpenMV提供了两者阈值设置方案。分别是阈值编译器和直方图的方式选择阈值。阈值编译器:优点,所寻找到的目标颜色更加合理,其他相似颜色区域的干扰比较小。缺点,调节LAB的最大最小值比较花费时间。直立方图恰好相反,他很容易找到LAB的最大最小值的大体区间,但是容易收到相似颜色区域的干扰。所以,建议两者配合使用,先用直立方图找到LAB的最大最小值的大体区间,再利用阈值编译器对LAB的最大最小值进行微调。首先我们使用直立方图:打开OpenMVIDE软件——>右下角有一个直立方图——>颜色识别中,只需要用到LAB色彩空间。我们要选择绿茶作为目标对象,只需要在帧缓冲区,拖动鼠标左键即可。根据直方图可知,

OpenMV:23串口发送数据

文章目录产品HelloWorld简单的数据发送本节讲解如何使用OpenMV通过串口来发送数据OpenMV是可以直接通过串口发送字符串的。为什么要用串口呢?因为要时候需要把信息传给其他MCU(单片机),串口简单,通用,基本每一个MCU都会有串口。TTL串口至少需要3根线:TXD,RXD,GND。TXD是发送端,RXD是接收端,GND是地线。连线的时候,需要把OpenMV的RXD连到另一个MCU的TXD,TXD连到RXD,GND与GND相连。图示:基本上所有单片机都有串口,因此我们可以使用OpenMV的串口来给任何其他的单片机或者是设备来传输信息如果我们需要查看OpenMV上串口的信息,我们需要额

OpenMV——色块识别

OpenMV有很多示例代码,下面是我学习过程中有关知识的总结。目录前言一、阈值选择二.代码前言函数RGB(255,0,0)表示的是红色。RGB(255,0,0)含义:红色值Red=255;绿色值Green=0;蓝色值Green=0。常见颜色:黑色RGB:红色值Red=0;绿色值Green=0;蓝色值Green=0;蓝色RGB:红色值Red=0;绿色值Green=0;蓝色值Green=255;绿色RGB:红色值Red=0;绿色值Green=255;蓝色值Green=0;青色RGB:红色值Red=0;绿色值Green=255;蓝色值Green=255;一、阈值选择1.点击工具 2.点击机器视觉,阈

毕业设计 基于stm32与openmv的目标跟踪系统

文章目录0前言课题简介设计框架3硬件设计4软件设计*对被测物体的识别判断被测物体所在区域5最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是🚩基于stm32与openmv的目标跟踪系统🥇学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:5分课题简介随着智能化技术的迅猛发展,网络智能视频监控系统也得到了广泛的应用。视频监控系统经历了从模拟化向数字化、网络化、智能化

OpenMV学习--sensor模块

OpenMV学习–sensor模块文章目录OpenMV学习--sensor模块一、介绍二、主要函数1.sensor.reset()2.sensor.get_id()3.sensor.set_pixformat()设置像素模式4.sensor.set_framesize()设置图像的大小5.sensor.skip_frames()6.sensor.set_windowing(roi)7.水平和垂直反转8.自动增益和白平衡一、介绍文章内容参考http://t.csdn.cn/nomGT和星瞳科技文档,牛马哥也是个小菜比。二、主要函数1.sensor.reset()初始化感光元件2.sensor.g