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

OpenMV 检测色块

设置绿色的阈值,括号里面的数值分别是L A B 的最大值和最小值(minL, maxL, minA,maxA, minB, maxB)

green_threshold = (0,80,-70,-10,-0,30)

初始化

sensor.reset()                      #初始化摄像头
sensor.set_pixformat(sensor.RGB565) #格式为 RGB565.
sensor.set_framesize(sensor.QQVGA)  #使用 QQVGA 速度快一些
sensor.skip_frames(100)             #跳过100frame,使新设置生效,并自动调节白平衡
sensor.set_auto_gain(False)         #关闭自动自动增益。默认开启的,在颜色识别中,一定要关闭白平衡。
sensor.set_auto_whitebal(False)     #关闭白平衡。白平衡是默认开启的,在颜色识别中,一定要关闭白平衡。

find_blobs(thresholds, invert=False, roi=Auto),thresholds为颜色阈值,是一个元组,需要用括号[ ]括起来。invert=1,反转颜色阈值,invert=False默认不反转。roi设置颜色识别的视野区域,roi是一个元组, roi = (x, y, w, h),代表从左上顶点(x,y)开始的宽为w高为h的矩形区域,roi不设置的话默认为整个图像视野。这个函数返回一个列表,[0]代表识别到的目标颜色区域左上顶点的x坐标,[1]代表左上顶点y坐标,[2]代表目标区域的宽,[3]代表目标区域的高,[4]代表目标区域像素点的个数,[5]代表目标区域的中心点x坐标,[6]代表目标区域中心点y坐标,[7]代表目标颜色区域的旋转角度(是弧度值,浮点型,列表其他元素是整型),[8]代表与此目标区域交叉的目标个数,[9]代表颜色的编号(它可以用来分辨这个区域是用哪个颜色阈值threshold识别出来的)。


全部代码:

# 色块监测 例子 (深绿色)
import sensor, image, time
# 颜色追踪的例子,一定要控制环境的光,保持光线是稳定的。
#设置绿色的阈值,括号里面的数值分别是L A B 的最大值和最小值(minL, maxL, minA,maxA, minB, maxB)
green_threshold = (0,80,-70,-10,-0,30)
sensor.reset()                      #初始化摄像头
sensor.set_pixformat(sensor.RGB565) #格式为 RGB565.
sensor.set_framesize(sensor.QQVGA)  #使用 QQVGA 速度快一些
sensor.skip_frames(100)             #跳过100frame,使新设置生效,并自动调节白平衡
sensor.set_auto_gain(False)         #关闭自动自动增益。默认开启的,在颜色识别中,一定要关闭白平衡。
sensor.set_auto_whitebal(False)     #关闭白平衡。白平衡是默认开启的,在颜色识别中,一定要关闭白平衡。

clock = time.clock()                #追踪帧率
while(True):
    clock.tick()                    #跟踪快照之间经过的毫秒数
    img = sensor.snapshot()         #从感光芯片获得一张图像
    blobs = img.find_blobs([green_threshold])
    if blobs:                       #如果找到了目标色块
        for b in blobs:#迭代找到的目标颜色区域
            if b[3]<50 or b[4]<70:continue
            img.draw_rectangle(b[0:4]) #用矩形标记出目标颜色区域
            img.draw_cross(b[5], b[6]) #在目标颜色区域的中心画十字形标记

没有绿色物体…我拿胶棒试的…

相关文章:

  • Bootstrap响应式网站开发实战 # 第二章习题答案
  • Bootstrap响应式网站开发实战 # 第三章习题答案
  • Bootstrap响应式网站开发实战 # 第四章习题答案
  • Bootstrap响应式网站开发实战 # 第五章习题答案
  • Web开发项目 # 2048小游戏
  • 数据分析 # 深入分析近三年以来各大城市发展情况
  • Bootstrap响应式网站开发实战 # 第七章习题答案
  • Bootstrap响应式网站开发实战 # 第八章习题答案
  • 人工智能实践:Tensorflow笔记 # 1 前向传播
  • 人工智能实践:Tensorflow笔记 # 5 神经网络优化:滑动平均
  • JAVA环境变量配置中path与classpath的区别
  • web开发 # 选项卡
  • Java程序设计 # 1
  • Java程序设计 # 2
  • Java程序设计 # 3
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • 2017前端实习生面试总结
  • Akka系列(七):Actor持久化之Akka persistence
  • Angular4 模板式表单用法以及验证
  • CentOS7 安装JDK
  • Intervention/image 图片处理扩展包的安装和使用
  • LeetCode29.两数相除 JavaScript
  • linux安装openssl、swoole等扩展的具体步骤
  • Mithril.js 入门介绍
  • spring boot 整合mybatis 无法输出sql的问题
  • SQLServer之创建显式事务
  • tensorflow学习笔记3——MNIST应用篇
  • - 概述 - 《设计模式(极简c++版)》
  • 力扣(LeetCode)965
  • 前端面试之CSS3新特性
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • Spring Batch JSON 支持
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #图像处理
  • (二)windows配置JDK环境
  • (附源码)springboot教学评价 毕业设计 641310
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (南京观海微电子)——I3C协议介绍
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (顺序)容器的好伴侣 --- 容器适配器
  • (算法)前K大的和
  • (循环依赖问题)学习spring的第九天
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)linux 命令大全
  • .net 微服务 服务保护 自动重试 Polly
  • .NET成年了,然后呢?
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • .Net转前端开发-启航篇,如何定制博客园主题
  • @angular/cli项目构建--http(2)
  • @JoinTable会自动删除关联表的数据
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法