赞
踩
使用的元件
先安装好,上述链接上手
IDE显示颜色阈值,同时也配有示例文件,如下图打开,helloworld 你好,世界! · OpenMV中文入门教程,在官方也有每一个的详细解析
OpenMV的一些依赖如下,进行import引入
以下是我个人学习过程的一些摘录
目录
(下文就有用到这个LAB)
2. 关于OpenMV 和 OpenCV
OpenMV是 开源的机器视觉框架,而 OpenMV 是一种 开源计算机视觉库,两者都是实现视觉应用的工具,不同的是 OpenMV 可以运行在 MCU 上,而OpenCV可以运行在多种框架的 CPU上,OpenMV的优势在于轻量化,但是处理高复杂图形信息和告诉图像能力的时候明显弱于OpenCV
以下是OpenMV开发板的一些基本功能的详细说明,包括图像捕捉、颜色跟踪、人脸检测和二维码识别等:
OpenMV开发板配备了一个摄像头模块,可以捕捉静态图像和视频帧。
sensor.snapshot()
函数来捕捉当前视野的图像,并将其保存到SD卡或传输到计算机。- import sensor, image, time
-
- sensor.reset() # 初始化摄像头
- sensor.set_pixformat(sensor.RGB565) # 设置像素格式为RGB565
- sensor.set_framesize(sensor.QVGA) # 设置分辨率为QVGA (320x240)
- sensor.skip_frames(time = 2000) # 让摄像头稳定2秒
-
- while(True):
- img = sensor.snapshot() # 捕捉图像
- # 这里可以对图像进行处理
颜色跟踪是通过检测和跟踪图像中的特定颜色区域来实现的。
find_blobs()
函数检测图像中的颜色块。- import sensor, image, time
-
- sensor.reset()
- sensor.set_pixformat(sensor.RGB565)
- sensor.set_framesize(sensor.QVGA)
- sensor.skip_frames(time = 2000)
-
- # 定义红色的阈值范围
- red_threshold = (30, 100, 15, 127, 15, 127)
-
- while(True):
- img = sensor.snapshot()
- blobs = img.find_blobs([red_threshold])
- for blob in blobs:
- img.draw_rectangle(blob.rect())
- img.draw_cross(blob.cx(), blob.cy())
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
OpenMV开发板支持基于Haar特征的级联分类器进行人脸检测。
find_features()
函数检测图像中的人脸。- import sensor, image, time, pyb
-
- sensor.reset()
- sensor.set_pixformat(sensor.GRAYSCALE) # 人脸检测通常在灰度图像上进行
- sensor.set_framesize(sensor.QVGA)
- sensor.skip_frames(time = 2000)
-
- # 加载Haar特征分类器模型
- face_cascade = image.HaarCascade("frontalface", stages=25)
-
- while(True):
- img = sensor.snapshot()
- faces = img.find_features(face_cascade, threshold=0.75, scale_factor=1.25)
- for face in faces:
- img.draw_rectangle(face)
OpenMV开发板支持检测和解码图像中的二维码。
find_qrcodes()
函数检测并解码图像中的二维码。- import sensor, image, time
-
- sensor.reset()
- sensor.set_pixformat(sensor.GRAYSCALE) # 二维码识别通常在灰度图像上进行
- sensor.set_framesize(sensor.QVGA)
- sensor.skip_frames(time = 2000)
-
- while(True):
- img = sensor.snapshot()
- qrcodes = img.find_qrcodes()
- for qrcode in qrcodes:
- img.draw_rectangle(qrcode.rect())
- print(qrcode.payload()) # 打印二维码的内容
OpenMV开发板还支持许多其他功能,如边缘检测、条形码识别、光流跟踪、机器学习等。每种功能都有对应的API,可以通过阅读官方文档和示例代码来学习和使用这些功能。
还得是官网
主要是将的怎么提取图像的部分基本信息和设置宽度、运算
统计图像的最大面积颜色,平均数,中位数,众数,标准差,最小值,最大值,第一四分数,第三四分数等
需要对图像中的某些位置进行标注时使用,直接在图像中显示出来,很直观
画线
画框
画圆
画十字
写字
其他的再具体应用上再说吧,毕竟是实操的。
今天想上手尝试一下,发现这个openmv好像有问题,或者是我的固件问题??不懂啊,两台电脑都没接上。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。