| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【手拉手 带你准备电赛】单色块识别(基于openmv) -> 正文阅读 |
|
[人工智能]【手拉手 带你准备电赛】单色块识别(基于openmv) |
目录 文章背景????????我们都听说过什么图像识别、色块识别,并且在2021年电赛——智能送药小车中也使用到了相关技术,那么你知道相关的原理和实现方法吗?接下来小蛋糕带你一探究竟。 openmv介绍????????首先我要为大家介绍一下,本篇文章的硬件平台——openmv。openmv并不仅仅是一个摄像头,它搭载了STM32的系列芯片,并且封装好了大量可供用户直接调用的函数,这些函数已经可以满足我们对于图像处理的大部分需求。在openmv的操作中,我们使用python调用相关函数进行编程。 openmv色块识别原理????????openmv实现色块的识别使用过一个非常容易理解的原理实现的——数值比较。这个原理是这样的:首先我们设置色彩的范围阈值(在这个数值范围内都被视为是这个颜色),然后我们捕获每一帧图片之后,把图片中的像素色彩数值与我们之前设置好的色彩阈值进行对比,在阈值的范围内则被视为是这个颜色,然后确定好色块之后,我们使用线框将色块框出,这样就完成了色块识别的工作。 openmv色块识别代码????????小蛋糕可是老代码人了,话不多说,我们在代码中给大家带来进一步的解析。 ????????1.首先设置色彩阈值(这要根据我们要识别的色彩具体设置,设置方式一是看界面右侧LAB色彩空间色彩信息的最小值和最大值;二是使用工具菜单栏中的--机器视觉--阈值编辑器,获得我们要识别色彩的阈值数据)。
????????2.然后我们进行相关函数的调用。在这步中,我们要初始化摄像头,设置摄像头格式和分辨率,同时确定留给摄像头进行准备工作的时间。
????????3.然后我们关闭白平衡和自动增益(开启这两个功能容易增大我们识别过程中的误差)。
????????4.然后我们设置处理器时间。
????????5.接下来便到了我们程序中最重要的部分——识别色块,并将色块框出。贼这部分中我们首先需要将图片捕获,然后在每一帧捕获的图片上进行操作;然后我们在使用find.blobs函数找到色块,然后我们将寻找到的色块框出。
????????6.最后我们将帧率打印出来即可(其实这里不打印也没有问题,这里主要是便于进行观察数据)
最终结果????????通过上述代码我们就可以实现色块识别,识别结果如下图所示: ? 疑惑细解:关于阈值的设置:????????在此之前我们接触的阈值大多是以点的形式(即只是一个孤立的数值,而不是一个范围),那么我们在这里为什么将阈值设置包括最大值与最小值组成了一个范围呢? ????????对于这种设置方式我们有两个角度的考量: ????????1.首先,这是由色彩自身的特点决定的,在RGB,每种色彩对应了一段的数据。 ????????2.其次,这是为了减少在图片捕获过程中,光线等影响了物体色彩的显示,以减小误差。 关于自动增益和白平衡????????自动增益 ????????摄像机输出的视频信号必须达到电视传输规定的标准电平,即为了能在不同的景物照度条件下都能输出的标准视频信号,必须使放大器的增益能够在较大的范围内进行调节。这种增益调节通常都是通过检测视频信号的平均电平而自动完成的,实现此功能的电路称为自动增益控制电路,简称AGC电路。具有AGC功能的摄像机,在低照度时的灵敏度会有所提高,但此时的噪点也会比较明显。这是由于信号和噪声被同时放大的缘故。 ????????白平衡 ????????它指的是在图像处理的过程中, 对原本材质为白色的物体的图像进行色彩还原, 去除外部光源色温的影响, 使其在照片上也显示白色。 ????????好的,关于色块识别我们就分析到这里,你学废了吗?下篇文章见! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:27:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |