OpenMV——色块识别

这篇具有很好参考价值的文章主要介绍了OpenMV——色块识别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

OpenMV有很多示例代码,下面是我学习过程中有关知识的总结。

目录

前言

一、阈值选择

二.代码


前言

函数RGB(255,0,0)表示的是红色。

RGB(255,0,0)含义:红色值 Red=255;绿色值 Green=0;蓝色值 Green=0。

常见颜色:

黑色RGB:红色值 Red=0;绿色值 Green=0;蓝色值 Green=0;

蓝色RGB:红色值 Red=0;绿色值 Green=0;蓝色值 Green=255;

绿色RGB:红色值 Red=0;绿色值 Green=255;蓝色值 Green=0;

青色RGB:红色值 Red=0;绿色值 Green=255;蓝色值 Green=255;

一、阈值选择

1.点击工具

openmv 色块,人工智能,计算机视觉,python

 2.点击机器视觉,阈值编辑器。

openmv 色块,人工智能,计算机视觉,python 3.滑动下方滑块,当所要识别的色块如下图为白色时,滑块下方的列表(LAB阈值)所显示的阈值就是要是别的色块的阈值。openmv 色块,人工智能,计算机视觉,python文章来源地址https://www.toymoban.com/news/detail-555263.html

二.代码

# Single Color RGB565 Blob Tracking Example
#
# This example shows off single color RGB565 tracking using the OpenMV Cam.

import sensor, image, time, math

threshold_index = 0 # 0 for red, 1 for green, 2 for blue

# Color Tracking Thresholds (L Min, L Max, A Min, A Max, B Min, B Max)
# The below thresholds track in general red/green/blue things. You may wish to tune them...
thresholds = [(30, 100, 15, 127, 15, 127), # generic_red_thresholds
              (30, 100, -64, -8, -32, 32), # generic_green_thresholds
              (0, 30, 0, 64, -128, 0)] # generic_blue_thresholds

sensor.reset()                     #初始化相机传感器
sensor.set_pixformat(sensor.RGB565)#设置相机模块的像素模式
sensor.set_framesize(sensor.QVGA)  #设置相机模块的帧大小
                                   #感光元件sensor.VGA 640*480(只用于OpenMV Cam M7的灰度处理图像,或者彩图图像采集,但彩图不能用作图像处理)

sensor.skip_frames(time = 2000)    #跳过2000ms的帧数
sensor.set_auto_gain(False) # must be turned off for color tracking
sensor.set_auto_whitebal(False) # must be turned off for color tracking
clock = time.clock()

# Only blobs that with more pixels than "pixel_threshold" and more area than "area_threshold" are
# returned by "find_blobs" below. Change "pixels_threshold" and "area_threshold" if you change the
# camera resolution. "merge=True" merges all overlapping blobs in the image.

while(True):
    clock.tick() #开始追踪运行时间
    img = sensor.snapshot() #使用相机拍摄一张照片,并返回 image 对象
    #find_blob 返回色块对象

    for blob in img.find_blobs([thresholds[threshold_index]], pixels_threshold=200, area_threshold=200, merge=True):
        # These values depend on the blob not being circular - otherwise they will be shaky.
        if blob.elongation() > 0.5:
            img.draw_edges(blob.min_corners(), color=(255,0,0))   #红色
            img.draw_line(blob.major_axis_line(), color=(0,255,0))  #绿色
            img.draw_line(blob.minor_axis_line(), color=(0,0,255))   #蓝色
        # These values are stable all the time.
        img.draw_rectangle(blob.rect())
        img.draw_cross(blob.cx(), blob.cy())
        # Note - the blob rotation is unique to 0-180 only.
        img.draw_keypoints([(blob.cx(), blob.cy(), int(math.degrees(blob.rotation())))], size=20)
    print(clock.fps())#停止追踪运行时间,并返回当前FPS(每秒帧数)。

到了这里,关于OpenMV——色块识别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OpenMV+STM32】PID控制二维自由舵机色块追踪

    1、芯片:STM32F407ZGT6 2、CubeMX 3、KEIL5 4、OpenMV  5、舵机         利用由两个自由舵机组装而成的二维云台来控制OpenMV的位置,以实现追踪指定阈值色块的效果。 3.1 初始化配置 3.2 定时器配置(PWM波输出)         这里我使用TIM3的通道1和TIM4的通道1分别实现对两个舵机

    2024年03月19日
    浏览(51)
  • 图像识别和计算机视觉:如何应用人工智能技术实现自动化检测和识别

      在数字化时代,图像数据成为了我们日常生活中不可或缺的一部分。然而,随着图像数据的急剧增加,传统的手动处理和分析方法已经无法满足我们的需求。这就引出了图像识别和计算机视觉技术的重要性。本文将介绍人工智能技术在图像识别和计算机视觉领域的应用,以

    2024年02月05日
    浏览(86)
  • 电赛智能送药小车_OpenMV巡线&识别十字路口完整代码

      整体思路 :通过划分ROI区域分区进行识别,中央 ROI 区域为巡线,左右两侧的 ROI_L 和 ROI_R 为十字路口识别 . 主程序如下 : # 本文代码中所导入的pid.py就是OpenMV官网上例程的代码 需要完整源码请私信我。

    2024年02月12日
    浏览(59)
  • 毕业设计:基于机器学习的硬币检测识别系统 人工智能 YOLO 计算机视觉

    目录 前言 课题背景和意义 实现技术思路 一、 硬币检测方法 1.1 规格、变形监测 1.2 变色检测 二、 数据集 三、实验及结果分析 3.1 实验环境搭建 3.2 模型训练 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为

    2024年02月20日
    浏览(83)
  • 毕业设计选题:基于机器学习的票据表格分割识别系统 人工智能 YOLO 计算机视觉

    目录 前言 课题背景和意义 实现技术思路 一、 算法理论基础 1.1 卷积神经网络 1.3 EM算法 二、实验及结果分析 2.1 数据处理 2.2 模型训练 3.2 结果分析 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗

    2024年02月22日
    浏览(82)
  • 毕业设计选题-计算机视觉:复杂场景下的车牌识别系统 人工智能 深度学习 YOLO

    目录 前言 项目背景与简介 主要设计思路 一、算法理论技术 1.1 神经网络基础 1.2 深度神经网络 1.3 目标检测 二、数据处理 2.1 数据采集 三、实现的效果 更多帮助     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设

    2024年02月03日
    浏览(101)
  • 毕业设计:基于机器学习的高压线障碍物识别系统 人工智能 YOLO 计算机视觉

    目录 前言 课题背景和意义 实现技术思路 一、障碍物检测方法 1.1 障碍物识别算法 1.2 Adaboost算法 1.3 支持向量机 二、 数据集 三、实验及结果分析 3.1 实验环境搭建 3.2 模型训练 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学

    2024年02月21日
    浏览(56)
  • 【人工智能124种任务大集合】-集齐了自然语言处理(NLP),计算机视觉(CV),语音识别,多模态等任务

    大家好,我是微学AI,今天给大家介绍一下人工智能124种任务大集合,任务集合主要包括4大类:自然语言处理(NLP)、计算机视觉(CV)、语音识别、多模态任务。 我这里整理了124种应用场景任务大集合,每个任务目录如下: 句子嵌入(Sentence Embedding):将句子映射到固定维

    2024年02月13日
    浏览(76)
  • OpenMV:19OpenMV4 Plus训练神经网络进行口罩识别

    注意: 只有 OpenMV4 Plus 可以自己训练神经网络,其他版本的性能不够 本节讲解如何使用 edgeimpulse.com 网站来 自行训练神经网络模型 ,进而实现机器学习的功能 edgeimpulse.com 是一个在线网站,是一个为嵌入式产品非常快速地生成嵌入式上面使用的神经网络的模型,非常地易用且

    2024年02月15日
    浏览(59)
  • OpenMV:07形状识别

    矩形识别 Rect.py

    2024年02月14日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包