当前位置: 首页 > news >正文

openmv学习笔记(24电赛笔记)

#opemv代码烧录清除详解

        openmv的代码脱离IDE运行程序,只需要在IDE中将代码烧录道flash里面,断开IDE连接,上电之后,会自动执行main.py中的程序,IDE烧录的时候,会默认将程序后缀保存为  .py文件。

                                ​​​​​​​        

        通过IDE烧录软件之后,保存完成之后需要将,openmv的U盘进行弹出,然后对摄像头在此进行上电,就能完成脱机运行程序,同时正确保存程序。如果·在弹出U盘的过程之后报错,代表程序烧录没有完成。

        ​​​​​​​        ​​​​​​​        

        如果担心代码烧录过程中出现问题,烧录的代码不对,可以在openmv  的U盘中,使用IED的方式打开main.py文件,查看里面的代码是否跟自己烧录的代码是否相同。        

        但是如果需要清空flash,只需要对U盘进行格式化,同时格式选择为FAT,格式化之后U盘中的代码就会被清空,然后可以再次保存代码。

                                    

#图像处理相关知识

        openmv是一个摄像头,也就是将光信号转化为电信号的一个装置,在计算机视觉中,最简单的模型是小孔成像模式,是一种理想的相机模型,没有考虑场曲,畸变等问题,但是通过引入畸变参数,可以解决问题。

          

        openmv同样的也是采用的这种小孔成像模式,通过摄像头将将图像印在感光原件上面,感光芯片将光照波长和强度信息转换为计算机识别的数字信号,就得到了图像。

        同时感光原件有很多个感光点构成,每个点是一个像素,如果长和宽视 640 480 这些点组成了一幅图片,分辨率就是640*480。                ​​​​​​​        ​​​​​​​        

                          

        当图片按照一定速度刷新的时候,如果找过 11次/s ,这个时候肉眼就会识别不出,当成视频来处理,同来的也辨别不出卡顿。同时每张图片有颜色组成,不同的颜色范围称为不同的色域,色域越大能够显示的颜色就越丰富,也就是色域指显示设备,图像或彩色系统能够在现的颜色范围,常见的有,RGB,CMYK,HSB,LAB色域。

        

        RGB色域,这种色域是由Red  Green  Blue 三种颜色,三种颜色通过占比不同可以生出不同的颜色,RGB565 代表着Red有5种选择范围   Green 6种选择范围    Blue 5种选择范围,这种色域经常备用在LCD   oled屏幕上来看各种图片。

        ​​​​​​​        ​​​​​​​        

        LAB色域,这种色域  ,L代表亮度,A的正数代表红色,负数代表绿色,B正数代表黄色,负数代表着蓝色,不同于RGB颜色LAB色域,被设计出来的时候就是为了接近,人的视觉,在openmv中应用的就是LAB颜色。

                           

        在使用openmv摄像头的过程中,还有一个关键参数就是焦距,焦距对图像的有着显著的影响,焦距决定了镜头和视角的放大倍率,当对同一物体参数进行拍摄时,镜头焦距长的成的像大,镜头焦距短的所成的像小,这里要注意的是,焦距越长,所称的图像就越小。

        对焦跟焦距不是相同的概念,对焦指的是当图像模糊不清的时候,通过手动对焦调整图像在光学传感器上,清晰的显示出图像的过程,并不会改变图像的大小,只会改变图像本身的清晰度,通常分为手动对焦还有自动对焦,总结,对焦这个过程是使被拍摄物体在光学传感器上成像清晰地一个过程。

        在openmv的摄像头上面还有一个滤片,是为了去出光线中的红外光,在成像的过程之中红外光是不被需要的,如过有红外光那么成像的图片就会发白,所以需要去除红外光。

        ​​​​​​​        ​​​​​​​        

                        欢迎指正,希望对你,有所帮助!!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 面完英伟达算法岗,心态崩了。。。
  • 【Python】快速创建一个简易 HTTP 服务器(http.server)
  • 《算法笔记》总结No.11——数字处理(上)欧拉筛选
  • 数据结构与算法-随机快速排序
  • Linux:bash在被调用时会读取哪些启动文件?
  • SQL labs-SQL注入(三,sqlmap使用)
  • 实习心得list
  • Vue 3 实现左侧列表点击跳转滚动到右侧对应区域的功能
  • 高速板开源项目学习(二)
  • 【Node.js基础05】包的理解与使用
  • BUUCTF [MRCTF2020]Ezpop
  • LLM 大语言模型显存消耗估计与计算
  • C语言 —— 函数
  • 如何在Linux上安装配置RabbitMQ消息队列
  • json的数据结构
  • 【Amaple教程】5. 插件
  • 2017届校招提前批面试回顾
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Docker容器管理
  • Just for fun——迅速写完快速排序
  • KMP算法及优化
  • MQ框架的比较
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Terraform入门 - 3. 变更基础设施
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 彻底搞懂浏览器Event-loop
  • 精彩代码 vue.js
  • 警报:线上事故之CountDownLatch的威力
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 两列自适应布局方案整理
  • 入口文件开始,分析Vue源码实现
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #define,static,const,三种常量的区别
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (Python) SOAP Web Service (HTTP POST)
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (六)软件测试分工
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)React组件、useState、组件样式
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (自用)gtest单元测试
  • .Net Core/.Net6/.Net8 ,启动配置/Program.cs 配置
  • .NET Framework 4.6.2改进了WPF和安全性
  • .Net Memory Profiler的使用举例
  • .Net Web窗口页属性
  • .NET 表达式计算:Expression Evaluator
  • .NET 事件模型教程(二)
  • .sh
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...