草庐IT

OpenMV的程序烧录

OpenMV官方烧录教程:OpenMV脱机运行|星瞳科技利用数据线连接OpenMV和电脑,如果OpenMV闪烁绿灯,之后是白灯,再结束。表示OpenMV连接电脑成功。打开OpenMVIDE,点击左下方的这个,或者按Ctrl+E连接上OpenMV。OpenMV连接上之后,点击右上角文件——>示例——>OpenMV——>ColorTracking——>single_color_rgb565_blob_tracking,打开单颜色识别的代码。打开示例之后,点击工具,将打开的脚本保存到OpenMVCam(作为main.py)。注意:这里只会替换掉OpenMV中原先的main.py。如果你的OpenMv

Openmv第五天之特征点匹配和测距

 前言回顾昨日,昨天的模板匹配方法,我认为他给人的优点就是很简单,你只需要传入模板就可以找到和模板几乎一样的目标,但是这几乎一样导致了他的局限性,那么就是你稍微大一点或者小一点,亦或是角度不对就会导致你识别不成功,但有个有趣的事情,昨天看了一个人在做模板匹配的时候,他用alloc开辟了另一个画布,然后设置为灰度,然后在这里面做模板匹配,他的题目是找出数字也就是1,2,3,4,5,6,7,8的小车,然后他先是设置阈值去找那个数字的色块blob,也就是找到所有可能有数字的色块,然后呢将这个色块放回的一些统计数据去等比例放大缩小去适应我给的模板的大小,这样就可以实现远近移动也能识别的效果了,感觉这个

openmv识别物体并与单片机通信(STM32)

openmv识别物体并与单片机通信(STM32)OPENMV端物体识别感光元件寻找色块画图距离判断距离实际距离串口发送STM32段串口接收串口2配置数据处理数据显示Openmv与STM32连线实验现象`在进行串口配置时,OpenMV和STM32的串口的波特率、奇偶位、停止位等都需要相同,否则传送数据不会成功。`源码获取OPENMV端物体识别感光元件img=sensor.snapshot()#存储摄像头所拍摄的图像并保存在img变量中寻找色块blobs=img.find_blobs([red_thresholds])#find_blobs函数可以找到色块。find_blobs函数:此函数参数较多

openmv识别物体并与单片机通信(STM32)

openmv识别物体并与单片机通信(STM32)OPENMV端物体识别感光元件寻找色块画图距离判断距离实际距离串口发送STM32段串口接收串口2配置数据处理数据显示Openmv与STM32连线实验现象`在进行串口配置时,OpenMV和STM32的串口的波特率、奇偶位、停止位等都需要相同,否则传送数据不会成功。`源码获取OPENMV端物体识别感光元件img=sensor.snapshot()#存储摄像头所拍摄的图像并保存在img变量中寻找色块blobs=img.find_blobs([red_thresholds])#find_blobs函数可以找到色块。find_blobs函数:此函数参数较多

stm32f103与openmv串口通信

串口通信是指通过串行通信接口进行数据传输的一种通信方式。在串口通信中,数据被分成一个个的字节,按照一定的顺序依次发送和接收。串口通信通常使用UART(通用异步收发传输)协议进行数据传输。串口通信在嵌入式系统中应用非常广泛,其主要用途包括:调试和监控:开发者可以通过串口将嵌入式设备连接到电脑或其他设备上,实时输出设备状态、错误信息等,以便进行调试和监控。控制和通信:嵌入式设备可以通过串口与其他设备进行通信,例如与传感器、执行器、显示器等设备进行数据交互和控制。数据传输:串口通信可以用于传输各种类型的数据,包括文本、数字、图像、音频等等。远程控制和管理:通过互联网和串口通信,可以实现对远程嵌入式设

OpenMV:07形状识别

矩形识别Rect.py#FindRectsExample##这个例子展示了如何使用april标签代码中的四元检测代码在图像中找到矩形。四元检测算法以非常稳健的方式检测矩形,并且比基于Hough变换的方法好得多。例如,即使镜头失真导致这些矩形看起来弯曲,它仍然可以检测到矩形。圆角矩形是没有问题的!#(但是,这个代码也会检测小半径的圆)...importsensor,image,timesensor.reset()sensor.set_pixformat(sensor.RGB565)#灰度更快(160x120maxonOpenMV-M7)sensor.set_framesize(sensor.QQ

OpenMV识别红色激光

黑夜可以清楚看到激光在哪,但白天情况下,激光点并不明显,这时候用OpenMV很难识别激光位置。 本篇讲述强光下用OpenMV识别激光点,并实时发送位置,这里介绍一下识别激光的方法,使用的是色块识别。但是激光点面积很小,而且在黑色区域容易被吞掉。因此对图像本身做一定的处理,比如调节曝光度等。主要就是采集,二值化,找块,显示。sensor.set_auto_exposure(False,exposure_us=1400)改变openmv的曝光度sensor.set_auto_gain(False)sensor.skip_frames(20)sensor.set_auto_exposure(Fals

【OpenMv】测距测尺寸

一、原理(以小球为例)测距:相同尺寸,距离越近,像素点越多,所以距离与直径像素点个数成反比:K=距离*直径的像素测尺寸:相同距离,尺寸越大,直径像素点越多,所以物体尺寸与直径像素点个数成正比:实际大小=K1*直径的像素因此:需要测距的时候,只需要用同一小球,先修改物体的颜色阈值,让OpenMv能够框出小球,再在一个已知距离点打印物体的像素点长度,就可以用K=距离*直径的像素求出关系系数K,然后再通过公式打印出距离。需要测量大小的时候,先测出小球的直径,然后在一固定位置(测量任何尺寸必须固定在同一位置)打印小球的直径像素点,再通过实际大小=K1*直径的像素公式求出比例系数K1,然后通过公式打印出

OpenMV接收stm32单片机数据

文章目录前言一、连线二、程序源码1.OpenMV源码2.32单片机源码三、运行效果总结前言本篇文章将会分享如何用OpenMV接收到stm32单片机传来的数据。一、连线OpenMVstm32p4PA3p5PA2GNDGND二、程序源码1.OpenMV源码代码如下(示例):importsensor,image,timefrompybimportUARTsensor.reset()sensor.set_pixformat(sensor.RGB565)sensor.set_framesize(sensor.QVGA)sensor.skip_frames(time=2000)sensor.set_aut

OpenMV上的矩阵库

17届全国大学生智能汽车竞赛中国石油大学(华东)智能视觉组国特开源OpenMV上的矩阵库众所周知啦,numpy是python中非常重要的的一个库,支持各种矩阵的操作。在我们比赛的使用的art上是不可以调用的。但我们在art上确实会有一定的需求,比如进行透视变换。这时候就需要一个矩阵运算库了。其实OpenMV的文档上也给出了几个第三方的矩阵运算库,它们都很不错,但是其接口风格与numpy不太相似,并且有些也没有操作符重载。为了满足我自己的需求,于是便自己动手编写了一个。在这个库,用法基本与numpy一致。如果你熟悉numpy,相信一定能很快掌握。这里需要解释一下为什么要模仿numpy的接口:在测