自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 [星瞳科技]OpenMV如何进行wifi通信?

OpenMV官方扩展板采用ATWINC1500模组,可以传输图像。如果想使用ESP8266,使用串口通信就可以。

2024-08-22 13:15:00 420

原创 [星瞳科技]OpenMV如何进行串口通信?

为什么要用串口呢?因为要时候需要把信息传给其他MCU,串口简单,通用,基本每一个MCU都会有串口。TTL串口至少需要3根线:TXD,RXD,GND。TXD是发送端,RXD是接收端,GND是地线。连线的时候,需要把OpenMV的RXD连到另一个MCU的TXD,TXD连到RXD。# OpenMV4 H7 Plus, OpenMV4 H7, OpenMV3 M7, OpenMV2 M4 的UART(3)是P4-TX P5-RX。

2024-08-21 11:30:00 1620

原创 [星瞳科技]OpenMV是否属于单片机?

随着代码的增多,在一个文件里的代码会越来越长,越来越难看懂。为了编写可维护的代码,我们把很多函数分组,放到不同的文件里。在Python中,一个.py文件就称之为一个模块(Module)。模块有什么好处?复用代码方便!如果我写了一个模块,你也写了一个模块,我们就有了两个模块。我们把这些模块都组织起来,大家就可以少写很多代码了!之前我们提到了,OpenMV是有文件系统的。文件系统的根目录存在一个main.py,代码执行的当前目录就是根目录。所以我们把模块的文件复制到OpenMV的“U盘”里就可以。

2024-08-20 14:05:47 1070

原创 [星瞳科技]OpenMV有哪些合适的配件?

SD卡也是一个文件系统,当上电的时候,如果插入SD卡,那么SD卡的文件系统就会自动取代内置的Flash文件系统,每次上电,就会运行。螺丝直接拧到OpenMV主板上方的安装孔里(螺丝与孔大小贴合的,直接用螺丝刀拧进去就可以), 螺丝与直角片之间加一个白色绝缘垫圈,直角片相当于螺母。OpenMV的排母是专用的长脚排母,一端为插针,一端为插座。OpenMV的洞洞板可以扩展OpenMV的功能。那如果我的代码有10万行,内置的flash不够用怎么办?OpenMV的直角固定板,可以将OpenMV竖直固定。

2024-08-19 13:36:34 931

原创 [星瞳科技]OpenMV使用时有哪些常见错误和解决办法?

这个错误是Import错误,没有stepper这个模块。原因:你没有把stepper.py这个文件拖到你的板子里。拖过去之后,需要重启,使模块生效。

2024-08-16 10:14:32 963

原创 [星瞳科技]OpenMV如果进行固件升级和编译?

但是同时也会有一些麻烦,和Arduino类似,有一些人自行制作OpenMV的PCB板,然后以廉价的方式出售,这样的行为损害了项目的利益和发展。有两种方式升级固件,一种是IDE自带的功能,使用bootloader升级固件,我们称之为常规升级。DFU模式,是STM芯片特有的bootloader,这种升级方式,适用于没有烧录过固件的OpenMV,或者烧写固件错误的OpenMV。DFU模式,是STM芯片特有的bootloader,这种升级方式,适用于没有烧录过固件的OpenMV,或者烧写固件错误的OpenMV。

2024-08-15 10:12:19 760

原创 [星瞳科技]如何用OpenMV进行特征识别和检测?

第二个模型:训练时分辨率96*96,使用MobilNetV2 0.35迁移学习,S1 Score 91%,运行帧率12帧左右,峰值RAM占用244KB,在OpenMV4以及OpenMV4 Plus上都可以运行。第一个模型:训练时分辨率128*128,使用MobilNetV2 0.35迁移学习,S1 Score 92%,运行帧率9帧左右,只能运行于OpenMV4 Plus。在OpenMV4 H7 Plus上面运行大概每秒45帧,在OpenMV4 H7上面运行大概每秒25帧左右。一共训练得到两个模型。

2024-08-14 14:11:08 976

原创 [星瞳科技]如何用OpenMV制造三子棋机器人?

1,图像识别很简单,先获取灰度图,然后在9个棋盘区域内,获取颜色信息,在OpenMV中使用statics完成。2,计算下一步棋应该怎么走,我的好朋友CHATGPT老师告诉我用minimax算法,并且给我写好了这部分的代码。3,机械臂控制也比较简单,在等候取子区,以及每个9宫格落子区,都获取机械臂的位置,通常可以通过示教功能来完成,因为我的机械臂只用了一天时间做的很赶,所以是通过代码直接看位置。机械臂是直接3D打印的,使用了3个舵机,可以直接通过OpenMV的舵机扩展板控制。1,图像识别,获得棋子数组。

2024-08-13 11:39:05 360

原创 [星瞳科技]如何用OpenMV制造一款能够自动巡线的小车?

这个例子展示了在OpenMV Cam上使用get_regression()方法获得ROI的线性回归。使用这种方法,可以轻松让机器人跟踪所有指向相同大致方向的线。本例程可以用于机器人巡线,效果非常好。

2024-08-12 13:50:29 586

原创 [星瞳科技]如何用OpenMV制造一个可以追小球的云台?

main.py可以在IDE里打开,运行。,将pid.py保存到OpenMV中。

2024-08-09 10:32:18 250

原创 [星瞳科技]如何用OpenMV制造一款能够自动追踪小球的小车?

因为这样代码可重用性最好,控制的逻辑时独立于小车的结构的。不同的小车,只要更改小车的模块就可以了。看一下小车是不是向前走,如果不是,更改第二行和第三行的的inverse_left和inverse_right来将左轮子或者右轮子反转, 确保小车是正向前进的。car.run(left_speed, right_speed)有两个参数,一个是左轮子的速度,一个是右轮子的速度。速度的参数如果是正数,就会向前转,如果是负数,就会向后转,0~100数字越大,速度就越大。,将car.py保存到OpenMV中。

2024-08-08 10:55:48 820

原创 [星瞳科技]OpenMV图像处理的方法(十一):颜色/形状/模板匹配同时识别

如何进行颜色识别和形状识别同时进行?以识别红色的圆形为例。首先我们进行圆形识别,然后在识别到的圆形区域内进行颜色统计,判断区域内最多的颜色是否是红色。

2024-08-05 10:00:00 228

原创 [星瞳科技]OpenMV图像处理的方法(十):扫码识别

可以用草料二维码生成你想要的内容。可以用这个网站生成条形码。

2024-08-02 10:00:00 343

原创 [星瞳科技]OpenMV图像处理的方法(九):测距

第一种方法:利用apriltag,Apriltag可以进行3D定位,具体实现参考我们的教程:AprilTag标记跟踪第二种方法:OpenMV采用的是单目摄像头,想要实现测距,就需要选参照物,利用参照物的大小比例来计算距离。本节分享一下第二种方法,如何通过摄像头里乒乓球的大小,计算摄像头与乒乓球之间的距离。众所周知,乒乓球距离摄像头越远,摄像头里乒乓球的大小就越小,那么问题来了?这个关系到底是什么呢?(注:此处的数学几何问题,仅涉及到高中数学三角函数部分,不想看的,直接看结论也可)

2024-08-01 10:00:00 317

原创 [星瞳科技]OpenMV图像处理的方法(八):特征点检测

特征点检测匹配目标特征的多种比例大小和角度,而不仅仅是保存目标特征时的大小角度,比模版匹配灵活。

2024-07-31 10:15:00 547

原创 [星瞳科技]OpenMV图像处理的方法(六):AprilTag标记跟踪

Apriltag识别中,怎么定位/测距?输出的tx ty tz的单位是什么?怎么就得到实际的距离了?

2024-07-29 09:53:21 773

原创 [星瞳科技]OpenMV图像处理的方法(五):寻找色块

blob.count() 如果merge=True,那么就会有多个blob被合并到一个blob,这个函数返回的就是这个的数量。列表类似与C语言的数组,一个blobs列表里包含很多blob对象,blobs对象就是色块,每个blobs对象包含一个色块的信息。比如,识别一个红色的圆,返回的blob.pixels()是目标圆的像素点数,blob.area()是圆的外接正方形的面积。拖动六个滑块,可以实时的看到阈值的结果,我们想要的结果就是,将我们的目标颜色变成白色,其他颜色全变为黑色。

2024-07-26 11:30:00 845

原创 [星瞳科技]OpenMV图像处理的方法(四):画图

视觉系统通常需要给使用者提供一些反馈信息。直接在图像中显示出来,很直观。当找到色块,把这个区域用矩形框标注出来,这样非常直观。注意:颜色可以是灰度值(0-255),或者是彩色值(r, g, b)的tupple。默认是白色。其中的color关键字必须的标明。Copy。

2024-07-25 09:49:26 290

原创 [星瞳科技]OpenMV图像处理的方法(三):使用图像的统计信息

如果我想知道一个区域内的平均颜色或者占面积最大的颜色?该怎么办?使用统计信息——Statistics!

2024-07-24 09:55:10 268

原创 [星瞳科技]OpenMV图像处理的方法(二):基本方法和运算

同样,我们可以通过image.set_pixel(x, y, pixel)方法,来设置一个像素点的值。图像可以是另一个image对象,或者是从 (bmp/pgm/ppm)文件读入的image对象。我们可以通过image.get_pixel(x, y)方法来获取一个像素点的值。取反,对于二值化的图像,0(黑)变成1(白),1(白)变成0(黑)。与另一个图片进行异或非(XNOR)运算。与另一个图片进行与非(NAND)运算。与另一个图片进行或非(NOR)运算。与另一个图片进行异或(XOR)运算。

2024-07-23 10:56:03 481

原创 [星瞳科技]OpenMV图像处理的方法(一):感光元件

sensor.set_auto_whitebal() 自动白平衡开启(True)或者关闭(False)。在使用颜色追踪时,需要关闭自动白平衡。sensor.set_auto_gain() 自动增益开启(True)或者关闭(False)。在使用颜色追踪时,需要关闭自动增益。ROI:Region Of Interest,图像处理中的术语“感兴趣区”。就是在要处理的图像中提取出的要处理的区域。sensor模块,用于设置感光元件的参数。roi的格式是(x, y, w, h)。

2024-07-22 11:25:34 1054

原创 [星瞳科技]开发OpenMV需要了解哪些Python知识?

Python是一个很常用的语言,在图像处理、机器学习、网络编程中都使用非常广。

2024-07-19 11:17:46 901

原创 [星瞳科技]如何能够快速上手OpenMV?

OpenMV Cam是一个可编程的摄像头,通过MicroPython语言,可以实现你的逻辑。摄像头本身内置了一些图像处理算法,很容易使用。它属于星瞳科技的注册商标。OpenMV适合做DIY相关的项目制作,比如追踪小球的车,云台,或者解魔方的机器人。还有对成本要求很高的嵌入式工业方案,比如流水线物品的分拣。想要快速上手,第一步当然是要下载软件:(点击 软件下载)下载后一直点击下一步,就正常安装完成了。如果没有图像窗口,就从右侧可以拖拽出来。

2024-07-17 15:55:04 1262 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除