学习OpenMV(一)详细参数及简单介绍
目录
一、 Open MV 简介
1.OpenMV摄像头的特点:
2.OpenMV摄像头的应用:
3.规格:
二、 搭建环境,Open MV IDE安装
1.Windows系统
2.Linux系统
三、Open MV IDE
1.概述:
2.运行:
3.帧缓冲查看器:
4.直方图显示:
一、 Open MV 简介
1.OpenMV摄像头的特点:
- STM32H743II ARM Cortex M7 处理器,480 MHz ,1MB RAM,2 MB flash. 所有的 I/O 引脚输出 3.3V 并且 5V 耐受。这个处理器有以下的IO接口。
- 全速 USB (12Mbs) 接口,可以连接到电脑。但是需要注意的是连接的必须是能够传输数据的线。当插入OpenMV摄像头后,你的电脑会出现一个虚拟COM端口和一个“U盘”。
- μSD卡槽拥有100Mbs读写,这允许你的OpenMV摄像头录制视频,和把机器视觉的素材从SD卡提取出来。
- 一个SPI总线高达100Mbs速度,允许你简单的把图像流数据传给LCD扩展板,WiFi扩展板,或者其他控制器。
- 一个 I2C总线,CAN总线, 和2两个异步串口总线 (TX/RX) ,用来链接其他控制器或者传感器。
- 一个12-bit ADC 和一个12-bit DAC。
- 2个 I/O 引脚用于舵机控制.
- 所有的IO口都可以用于,中断和PWM(板子上有10个I/O引脚)。
- 一个RGB LED(三色), 两个高亮的 850nm IR LED(红外)。
- 32 MB 外置的 32-bit SDRAM ,100 MHz的时钟,达到 400 MB/s 的带宽。
- 32 MB 外置的 quadspi flash, 100 MHz的时钟,4-bit DDR模式达到 100 MB/s 的带宽。
可拆卸的摄像头模块系统,允许OpenMV Cam H7 Plus与不同的感光元件模组连接:
- OpenMV4 H7 Plus默认配置的OV5640 感光元件处理2592×1944 (5MP)图像。在QVGA (320×240)及以下的分辨率时,大多数简单的算法可以运行(25~50)FPS。
- 对于专业的机器视觉应用
- 对于红外热成像机器视觉应用
- 3.7V 锂离子电池接口
资料请看: OpenMV | 星瞳科技
2.OpenMV摄像头的应用:
- Frame Differencing帧差分算法
- 可以使用帧差分算法来查看场景中的运动情况。
- Color Tracking颜色追踪
- 可以使用OpenMV在图像中同时检测多达16种颜色(实际上永远不会想要找到超过4种颜色),并且每种颜色都可以有任意数量的不同的色块。OpenMV会告诉您每个色块的位置,大小,中心和方向。
- Marker Tracking标记跟踪
- 可以使用OpenMV Cam来检测颜色组的颜色,而不是单独的颜色。
- Face Detection人脸检测
- 可以使用OpenMV Cam(或任何通用对象)检测脸。
- Eye Tracking眼动跟踪
- 可以使用眼动跟踪来检测某人的注视方向。
- Person Detection人检测
- 可以使用内置的人检测器(TensorFlow Lite模型)检测视野中是否有人。
- Optical Flow光流
- 可以使用光流来检测您的OpenMV摄像机面前的画面。
- QR Code Detection/Decoding二维码检测/解码
- 可以使用OpenMV Cam在其视野中读取QR码。
- Data Matrix Detection/Decoding矩阵码检测/解码
- OpenMV Cam 也可以检测和解码矩阵码(2D条形码 Data Matrix)。
- Linear Barcode Decoding条形码
- OpenMV Cam 还可以处理1D条形码。它可以解码 EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93, 和 CODE128。
- AprilTag Tracking标记跟踪
- 甚至比上面的QR码更好,OpenMV Cam 也可以追踪AprilTags。AprilTags是旋转不变,尺度不变,剪切不变和照明不变的最先进的基准标记。
- Line Detection直线检测
- OpenMV Cam可以在几乎跑满帧率的情况下,快速完成无限长的直线检测。而且,也可以找到非无限长的线段。
- Circle Detection圆形检测
- 可以使用OpenMV很容易的检测图像中的圆形。
- Rectangle Detection矩形检测
- OpenMV也可以检测矩形,它使用了AprilTag库中的方形检测代码。
- Template Matching模板匹配
- 可以使用OpenMV模板匹配来检测视野中是否有模板相似的图片。例如,可以使用模板匹配来查找PCB上的标记,或读取显示器上的已知数字。
- Image Capture图像捕捉
- 可以使用OpenMV捕获RGB565/灰度的 BMP / JPG / PPM / PGM图像。可以直接在Python脚本中控制如何捕获图像。最重要的是,使用机器视觉的算法,进行绘制直线,绘制字符,然后保存。
- Video Recording视频录制
- 可以使用OpenMV摄像机记录RGB565/灰度的MJPEG视频或GIF图像(或者RAW视频)。你可以在Python脚本中直接控制如何将每个视频帧记录,并完全控制视频录制的开始和结束。而且,像拍摄图像一样,您可以使用机器视觉的算法,进行绘制直线,绘制字符,然后保存。
- TensorFlow Lite for Microcontrollers
- TensorFlow Lite支持使你可以在OpenMV Cam上运行自定义图像分类和分割模型。借助TensorFlow Lite,你可以轻松分类画面中复杂的区域,并根据所看到的内容控制I/O引脚。
3.规格:
二、 搭建环境,Open MV IDE安装
1.Windows系统
Windows安装很简单,我参照着星瞳的教程,下载驱动包,进入安装程序之后,自动安装IDE以及OpenMV Cam和MicroPython pyboard的驱动程序。
2.Linux系统
在ubantu上打开Download | OpenMV,我的虚拟机是64位,选择对应的版本下载。
打开 OpenMV IDE .run
文件下终端。然后执行:(*表示版本号)
chmod +x openmv-ide-linux-*.run
./openmv-ide-linux-*.run
在Linux上安装OpenMV IDE。之后,请参阅安装程序输出目录中的 README.txt
文件和 setup.sh
文件以安装 设备固件更新软件(DFU),以便在您的启动加载器遇到问题时可以恢复您的OpenMV。
最后,要启动OpenMV IDE,只需单击该 bin/openmvide
文件即可。
只是ta在将摄像头与IDE连接时出现了问题,插入之后没有Open MV的虚拟端口,并且没有弹出驱动的安装程序。最后在ubantu上也安装了IDE无果后,更换了可以传输数据的线才解决问题,摄像头连接成功。
在这里出现了一个问题:在换线连接成功之后,弹出过一个窗口,提示我的电脑上有两个openmv凸轮,它询问我连接到哪个串行端口,在这里,我选择了windows,这代表openmv记住了我的选择,下次会自动选择。
三、Open MV IDE
1.概述:
OpenMV IDE使用QtCreator作为文本编辑器后端,具有强大的文本编辑器,由QtCreator驱动,帧缓冲查看器,直方图显示和集成的串行终端,用于OpenMV Cam的调试输出。
OpenMV IDE可以进行新建、打开、另存为、打印等,可以打开多个页面。此外,我还可以在上面看到很多实例便于我参考和使用。
2.运行:
想要运行,只需要点击左下方的运行按钮即可,如果有错误,会在串行终端中报错,OpenMV IDE会自动解析查找错误。当检测到错误时,OpenMV IDE将自动错误地打开文件并突出显示错误的行。
3.帧缓冲查看器:
右上方有一个帧缓冲区,可以查看处理代码时所看到的内容,帧缓冲区查看器在调用sensor.snapshot()
时显示先前OpenMV Cam的帧缓冲区中的内容。
img = sensor.snapshot() # 拍一张照片并返回图像。#截取当前图像,存放于变量img中。注意python中的变量是动态类型,不需要声明定义,直接用即可。
4.直方图显示:
OpenMV IDE右侧有一块直方图显示有关帧缓冲区图像的有关信息,有四个选项,分别是RGB、灰度、LAB、YUV 色彩空间。
了解完OpenMV 的基础概念信息,下一步就是学习OpenMV 图像处理方法,加油!
学习OpenMV(一)详细参数及简单介绍相关推荐
- python学习笔记(一)Python 简单介绍
Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...
- 【学习记录】Inception结构的简单介绍及Filter Concatenation的理解
文章目录 [学习记录]Inception结构的简单介绍及Filter Concatenation的理解 Inception Filter Concatenation [学习记录]Inception结构 ...
- 【深度学习】超参数优化简单介绍
介绍 超参数优化也称作超参数调整.往往机器学习/深度学习的算法中包含了成千上百万的参数,这些参数有的可以通过训练来优化,例如神经网络中的权重(Weight)等,我们称为参数(Parameter),也有 ...
- 每天一小时python官方文档学习(一)————python的简单介绍
我们都知道,python的官方文档写得十分详尽,也是每一个学习python的人都绕不开的. 所以从今天开始,我每天都会用一小时学习python的官方文档,按照文档目录的顺序,摘录一些有用的语句,写下一 ...
- java 不定长参数_简单介绍Java的不定长度参数
本文版权归作者所有,仅供用来网上学习来用,读者可以收藏,请不要下载到本机和重新发布到其它网站 先看两个简单的例子,来感受一下Java的不定长度参数 第一个例子: public class VariAr ...
- XML学习总结(2)——XML简单介绍
2019独角兽企业重金招聘Python工程师标准>>> 一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的, ...
- [深度学习-原理]GAN(生成对抗网络)的简单介绍
系列文章目录 深度学习GAN(一)之简单介绍 深度学习GAN(二)之DCGAN基于CIFAR10数据集的例子 深度学习GAN(三)之DCGAN基于手写体Mnist数据集的例子 深度学习GAN(四)之c ...
- [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...
本文是为后面的学习之路做铺垫,简单介绍下企业库中的Validation模块的一些相关知识,包括Validation模块的简介.用途.使用方法.默认提供的多种验证器的介绍等. 一.简介及用途 在实际的项 ...
- 地图可视化组件–folium简单介绍
地图可视化组件–folium简单介绍 folium是基于Python环境开发的一个地图绘制包,可以在程序中引入从而绘制精美的地图数据可视化图表.folium建立在Python生态系统的数据处理能力和L ...
最新文章
- TF-IDF与余弦相似性的应用(二):找出相似文章
- php培训12.22
- JAVAEE框架之SpringMVC基础
- Android之ConnectivityManager
- bom .dom_MicroProfile 2.2 BOM导入支持
- 决策引擎中的Hunter类策略又是什么?
- 几款主流的 Python IDE
- python题目关于企业利润_Python练习题(一)
- 移动开发者的未来在哪里?
- ExtJS002Window创建
- SQL必知必会 附录解读
- 用了很多年的PC端离线版个人知识管理软件PKM2 Manager推荐给大家
- git管理工具使用-本地通过git命令拉取项目
- 《HBase权威指南》读书笔记(二)
- 狂团KtAdmin框架正式免费开源发布,助力独立版SAAS系统快速开发
- 《最好的告别》:如何优雅地走向生命终点
- P1:选 7-15 群发邮件
- 高数复习(2)--方向导数与梯度的理解 附根据梯度求轨迹的基本模型
- python 7周自学计划
- 百度地图(二) - 模仿百度地图搜索框
热门文章
- Tableau服务器部署方案
- 服务器之间文件同步 go,基于golang文件实时监控并同步远端服务器工具
- sdk无法打开的原因,值得新手参考
- Register Form
- Web安全—安全事件的分析思路详解(安全设备)
- 一文带你看懂!TensorFlow入门
- java毕业设计电力公司员工安全培训系统Mybatis+系统+数据库+调试部署
- 一目了然的 Node.js Windows10 安装篇
- 在matlab中 编程n,Matlab与C++混合编程 1--在C++中调用自己写的matlab函数
- java使用freemarker导出word标题失效问题