Open_MV学习笔记1:开发环境获取

稍微学点计算机视觉相关吧,从今天开始浅浅地学习一下Open_MV,以及回忆一下Python编程相关,Open_mv编程需要用到Python,因此设俩个专栏:Open_mv专栏与Python的专栏,大家可以与我一起,在俩者之间跳转了学习~~

目录

 前言:

Open_mv简介:

开发环境获取:

初次调试镜头 :

 帧率,分辨率:


 前言:

从本文开始介绍学习Open_MV,但这个Open_MV专栏应该不会更新太多文章,毕竟电赛被它坑过,连测准一个直角都十分困难的视觉处理设备,真是不敢恭维,但手头能拿到的就是这款Open_mv4 ,因此浅学一下,增加这方面知识,同时规劝大家不要深入学Open_mv,太坑了,识别不准确,图像畸变噪声要自己想办法处理,有时采样帧率低 都是不小的问题,想深入,有更多开发前景地 学习视觉处理设备,还是推荐大家学习价格更高,更准的深度摄像头~

Open_mv简介:

Open_mv是一个开源,低成本,功能强大的机器视觉模块。以STM32F427CPU为核心,集成
了OV7725摄像头芯片,在小巧的硬件模块上,用C语言高效地实现了核心机器视觉算法,提
供Python编程接口。使用者们(包括发明家、爱好者以及智能设备开发商)可以用Python语
言使用OpenMV:提供的机器视觉功能,为自己的产品和发明增加有特色的竞争力。
OpenMV.上的机器视觉算法包括:寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪等。

(看起来很高大上,但实测亲身教训告诉我们,实际开发过程中他们对于形状检测的库并不完整,我们是在2023年电赛使用它,在制定解题方案时默认为它的库能轻松实现90度的直角检测,实践却发现没法做到,在消除噪声,帧率协调,图像像素点畸变不准确等多方面收到严重困扰,因此希望大家不要过于信任其库的完善性)

开发环境获取:

Open_mv是星瞳科技接手的,这是他们的官网:

OpenMV | 星瞳科技

点击软件下载就能获取他们的IDE开发软件,Open_mv编程使用Python语言,注意学习一下Python的基本语句~

以下网址有他们的开发库,教学学习资料:

视频教程 · OpenMV中文入门教程

安装好后我们就能打开软件,插上Open_mv,然后点击左下角连接设备

 然后他就会弹出一个希望你去激活的弹窗,我们可以不去管他,一路no no no就行,这官方要饭了属于是,学生党不建议购买它的激活码,15美刀太贵了~~

 他还在最后继续威胁,说不资助就每次都弹窗,那咱们也没办法~~~~(实际不影响使用)

初次调试镜头 :

 然后先运行一下脚本,打开图像,辅助调试一下镜头:

 我们发现新到手的图像很模糊,这是因为镜头没有手动调焦,此时可以我们可以转动它的镜头来调焦,镜头与镜头座之间有个小圈,是往里转固定用的,需要注意一下:

 红色是镜头,蓝色是镜头圈,转红色的调整焦距,调整得合适了,再把蓝色的顺时针往镜头座转固定好:

调整好后,图像就变得清晰多了:

然后,Open_mv有许多各种类型的镜头可以购买选择,根据不同需要,有的像望远镜,有的超广角,等等,而我之后的学习只会使用常规镜头,因为买不起其它的镜头~~

 帧率,分辨率:

 右下角能获取看到它的帧率,分辨率等:

我这里是320*240的分辨率,这是像素点个数的概念,十分重要,图像处理也是基于这些庞大数量(其实也就76800)的像素点的 ,大部分库传输获取的数据也是与分辨率与像素点有关

最右下角的FPS就是帧率了,这应该是每秒可以处理的图像个数的意思,此项应该越高越好,帧率高低应该与程序算法执行起来的时间复杂度有很大关系,这个需要在编程时格外注意~

 结束语:

对于开发环境的理解,去官方网站学习只会比我这更加详细,而这第一篇文章目的只是辅助补充说明一些东西~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/76909.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c#设计模式-结构型模式 之 代理模式

前言 由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接 引用目标对象,代理对象作为访问对象和目标对象之间的中介。在学习代理模式的时候,可以去了解一下Aop切面编程AOP切面编程_aop编程…

函数栈帧的创建与销毁

目录 引言 基础知识 内存模型 ​ 寄存器的种类与功能 常用的汇编指令 函数栈帧创建与销毁 main()函数栈帧的创建 NO1. NO2. NO3. NO4. NO5. NO6. main()函数栈帧变量的创建 调用Add()函数栈帧的预备工作——传参 NO1. NO2. NO3. Add()函数栈帧的创建 …

C++笔记之Class A a = b调用的什么构造函数(引例)

C笔记之Class A a b调用的什么构造函数(引例) code review! 文章目录 C笔记之Class A a b调用的什么构造函数(引例)1.C笔记之Class A a b调用的什么构造函数?2.常见的三种形式3.等价的两种形式 1.C笔记之Class A a b调用的什么构造函数? 2.常见的三…

认识Mybatis并实现增删查改

目录 一.Mybatis特性 二.常见持久层技术的比较 三.搭建Mybaits环境 四.使用Mybatis 五.通过Mybatis实现增删改 六.实现数据库的查询操作 一.Mybatis特性 定制化SQL:MyBatis允许开发人员编写、优化和管理自定义的SQL语句,可以满足复杂查询和存储过程等…

LeetCode 热题 100(五):54. 螺旋矩阵、234. 回文链表、21. 合并两个有序链表

题目一: 54. 螺旋矩阵https://leetcode.cn/problems/spiral-matrix/ 题目要求: 思路:一定要先找好边界。如下图 ,上边界是1234,右边界是8、12,下边界是9、10、11,左边界是5,所以可…

Unity如何控制声音大小(包括静音功能)

一:UGUI制作 1. 首先在【层级】下面创建UI里面的Slider组件。设置好它对应的宽度和高度。 2.调整Slider滑动条的填充颜色。一般声音颜色我黄色,所以我们也调成黄色。 我们尝试滑动Slider里面的value。 a.滑动前。 b.滑动一半。 c.滑动完。 从以上滑动va…

LeetCode235. 二叉搜索树的最近公共祖先

235. 二叉搜索树的最近公共祖先 文章目录 [235. 二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/)一、题目二、题解方法一:递归方法二:迭代 一、题目 给定一个二叉搜索树, 找到该树中两个指定…

恢复NuGet包_解决:System.BadImageFormatException:无法加载文件或程序集

C#工程 主要是开发了一个 web api接口,这个工程源码去年还可以的,今年换了一个电脑打开工程就报错。 错误提示如下: 在 Microsoft.CodeAnalysis.CSharp.CommandLine.Program.Main(String[] args) Test1 System.BadImageFormatEx…

【腾讯云 TDSQL-C Serverless 产品体验】基于腾讯云轻量服务器以及 TDSQL-C 搭建 LNMP WordPress 博客系统

文章目录 一、前言二、数据库发展与云原生数据库2.1 数据库发展简介2.2 云原生数据库简介2.2.1 云数据库与云原生数据库区别 三、腾讯云 TDSQL-C 数据库3.1 什么是腾讯云 TDSQL-C 数据库3.2 为什么推出 TDSQL-C 数据库?传统 MySQL 架构存在较多痛点3.2.1 传统 MySQL…

Spring讲解和ioc用途及Web容器的整合

目录 一、Spring概述 ( 1 ) 背景 ( 2 ) 是什么 ( 3 ) 核心特性 二、Spring中的ioc 2.1 讲解 2.2 主要功能 2.3 实例演示 三、注入方式 3.1 set注入 3.2 构造注入 3.3 接口注入 四、Web容器整合 4.1 思考 4.2 实操 对我们的收获 一、Spring概述 ( 1 ) 背景 Spr…

EasyExcel工具 Java导出Excel表数据

EasyExcel 优点坐标依赖读Excel最简单的读的对象写Excel最简单的写的对象最简单的读的监听器填充Excel简单填充(对象)复杂填充(对象和列表)官网:https://easyexcel.opensource.alibaba.com/ EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。…

aosp-刷入Magisk面具获取root权限

作者:上山打鼠 一、简介 话说上次root手机都已经是初中的时候了,那时候捣鼓手机不亦乐乎,Android4.4的系统先解锁,再刷入第三方Recovery,然后再刷入Root包去获取Root权限 想学点逆向的知识,所以要root一下…