1. 案例目的

学习 AI 视觉感知模块的色块检测功能,并用 CoCube 对不同的色块做出反应。

2. 使用材料

个人电脑 或 平板 CoCube机器人 + AI 视觉感知模块

3. 软件平台

MicroBlocks-CoCube

4. 算法知识

参考教程

文档教程:算法介绍 — 色块检测 Blob

从 Sengo1的屏幕运行状态如下所示,屏幕沿水平方向X与竖直方向Y将图像100等分, 摄像头画面左上角为原点坐标(0,0),右下角坐标为(100,100),图像中心区域坐标为(50,50),当识别到相应的色块会返回其X,Y,W,H

需要使用到的积木说明

  1. Sengo 1 初始化积木

在使用 摄像头前需要先执行初始化积木。通常会放在"当启动时"帽子积木下。

  1. Sengo1 设置模式积木

  1. 色块检测算法参数设置

选择检测的颜色,以及识别的区域大小

  1. Sengo1 色块结果读取

返回色块的检测结果

包括中心x坐标、中心y坐标、宽度w、高度h

5. 开始编程

  1. 连接设备:通过有线或者无线方式,连接 MicroBlocks IDE 与 CoCube 机器人,并将 AI 视觉感知模块拓展在 CoCube 机器人前方。

  2. 载入积木库:添加机器人积木库中的"CoCube Sengo1"或者"CoCube Sengo2",具体库的选择依据摄像头硬件型号,两者使用上无明显区别,Sengo2具备更多的功能,以下案例教程以Sengo1库演示。

  1. 摄像头模块初始化:选择启动时先将Sengo1初始化,将摄像头的算法模式设置为色块检测模式用于色块识别,同时将"dx""dy"初始化为0,两个变量作为后续判断目标色块的位置判断的关键参数。

  1. 重复获取色块位置:通过"Sengo1获取色块的"属性,观察当目标色块在摄像头屏幕中时的位置与尺寸标签,以及确定中央位置的参数,通过"dx"和"dy"判断色块离屏幕中心位置的偏差与CoCube后续应该怎么调整方向与位置。

提问:该积木相当于什么?

  1. 编写自己的程序:有了上述的调试代码,不妨自己试试组合更多的功能吧!

6. 挑战一下

基于色块识别功能,实现跟随蓝色圆柱移动的功能。

注意,需要手动设置Sengo1摄像头的色块识别的参数,将识别色块的颜色由出厂默认红色,更改为蓝色。

参考代码:案例 Sengo1 色块检测

参考代码:案例 Sengo2 色块检测

CC-BY-SA

© 来自 CoCube 2024-2026.

This work is licensed under a CC-BY-SA 4.0 license.