1. 软硬件说明
Mind+是一款基于Scratch3.0开发的青少年编程软件,支持Arduino、行空板K10、行空板M10等各种开源硬件的图形化及代码编程,只需要拖动图形化程序块即可完成编程,还可以使用Python/C/C++等高级编程语言,让大家轻松体验创造的乐趣。
可到 Mind+ 官网 下载最新版本的 Mind+
1.2 DFRobot Arduino Uno R3介绍
DFRduino UNO R3是一块基于开放原始代码的Simple i/o平台,并且具有使用类似java,C语言的开发环境。让您可以快速使用Arduino语言与Flash或Processing…等软件,作出互动作品。
商城购买链接:DFRobot Arduino Uno R3
2. 硬件连接
准备材料
- DFRduino UNO R3 (或类似主板) x 1
- Arduino电源线 x1
- HUSKYLENS 2 x 1
- USB数据线 x1
- 4pin连接线(或杜邦线)x1
将HukyLens 2 连接到Arduino主板对应的I2C引脚,使用电源线连接Arduino Uno与电脑。额外供电提示:Arduino Uno的I2C引脚输出的电压不足以支持HUSKYLENS 2正常工作,当HUSKYLENS 2接在Arduino Uno上时须有额外数据线连接HUSKYLENS 2的Type-C接口与电源,为HUSKYLENS 2进行额外供电。接线图可参考下图。
3. 加载HUSKYLENS 2 库
3.1Mind+2.0版本库加载方式
双击打开2.0版本的Mind+编程软件,打开之后,找到'上传模式',点击选择上传模式,如下图。
等待上传模式初始化完成,点击左下角扩展,第一次使用需要下载相应的主控扩展库。找到'Arduino Uno'。点击右上角下载相应主控库。
当Arduino Uno扩展库下载完成后,点击加载Arduino Uno扩展库,加载成功后,如下图所示。
点击'模块扩展',在模块扩展中搜索'HuskyLens 2',找到HuskyLens 2 扩展库并点击下载。
注:以下所有的项目示例我们使用的Mind版本为2.0版本。
3.2Mind+1.8及以下系列版本库加载方式
打开编程软件Mind+,点击上传模式。
点击左下角扩展,在主控板中选择Arduino Uno。
选择主控板之后,对应支持的扩展模块标签变成可选状态,点击传感器,找到HuskyLens 2 扩展库,点击加载模块,然后返回编程界面。
4.人脸识别积木
4.1识别人脸输出相关数据
在人脸识别功能下,当人脸出现在HUSKYLENS 2 屏幕中时,可以被检测和框出,我们可以获取HUSKYLENS 2 画面中离十字光标最近的人脸的相关数据并在串口打印出来,可以读取的人脸数据有:人脸ID、人脸名称、宽度、高度以及人脸中心点的X坐标位置和Y坐标位置。
示例程序如下。
在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HUSKYLENS 2 的人脸识别功能。
将HUSKYLENS 2 的摄像头对准人脸,在Mind+中打开串口,观察输出结果。
运行结果:如下,对于未学习过的人脸默认输出ID为0。
可以对准一张学习过的人脸,如何学习人脸详细操作请看:人脸识别功能说明
运行结果:如下,对于已学习过的人脸输出ID与HUSKYLENS 2 屏幕显示的ID保持一致。
4.2 统计人脸数量输出指定人脸的数据
当画面中出现多张人脸时,可以使用以下示例程序统计画面中的人脸数量,获取指定ID的人脸相关数据。
示例程序如下
运行结果:如下图,运行程序,串口打印当前画面中的人脸数量。当ID为1的人脸出现在画面中就打印输出人脸ID1的相关数据。
运行结果:如下图,运行程序,如果未出现ID为1的人脸,则串口只输出当前人脸数量。
4.3人脸识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的人脸识别功能下,用于获取一次人脸识别的数据结果。 |
![]() |
判断当前画面中是否存在人脸。 |
![]() |
获取离屏幕十字光标最近的一个人脸的相关数据,包括人脸的ID、自定义的人脸的名称、中心点X坐标、中心点Y坐标、宽度、高度。 |
![]() |
获取屏幕中所有检测到的人脸的数量,包括未学习的和已学习的人脸。 |
![]() |
当出现多个标签时,获取某一指定人脸的相关数据。 |
![]() |
判断指定ID的人脸是否存在在画面中。未学习的ID统一为0,已学习的ID按学习顺序排序。 |
![]() |
获取当前画面中指定ID的人脸数量。 |
![]() |
当出现多个人脸时,获取某一指定人脸的相关数据。 |
![]() |
当出现多个同一ID的人脸时,获取某一指定人脸的相关数据。 |
5. 物体识别积木
5.1 识别物体输出相关数据
在物体识别功能下,HUSKYLENS 2 可识别视野内的物体(是80种固定类别物体,详见物体识别使用说明)并将相关数据通过串口打印输出,可以读取的数据有:画面中可识别物体的总数、靠近HUSKYLENS 2 摄像头画面中心的物体ID号、检测到的第一个物体。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。
通过触屏,进入HUSKYLENS 2 的物体识别功能。
将HUSKYLENS 2 的摄像头对准画面中的物体分别学习,如何学习物体详细操作请看:物体识别使用说明
学习完成后在Mind+中打开串口,观察输出结果。
运行结果:可输出识别到的物体总数,可按要求输出相应物体ID号。
5.2 获取画面中指定物体的相关数据
HUSKYLENS 2 识别物体后,可获取画面中指定物体的相关数据。例如,判断某个已学习的物体是否在画面中、指定物体的名称、可获取画面中同类物体的数量,当画面中出现多个同类物体时,可指定获取其中某个物体的相关参数,包括名称、X/Y坐标、宽度、高度。
示例程序如下
运行结果:如图所示,可获取到画面中的物体总数、画面中ID2物体数量、名称,以及检测到的第一个ID2物体的坐标位置。
5.3 物体识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的物体识别功能下,用于获取一次物体识别的数据结果。 |
![]() |
判断当前画面中是否存在可识别物体。 |
![]() |
获取离屏幕十字光标最近的一个物体的相关数据,包括物体的ID、物体的名称、物体中心点X坐标、物体中心点Y坐标、宽度、高度。 |
![]() |
获取屏幕中所有检测到的可识别物体的数量。 |
![]() |
当出现多个可识别物体时,获取某一指定物体的相关数据。 |
![]() |
判断指定ID的物体是否存在于画面中。(HUSKYLENS 2 学习物体后,会按学习顺序分配ID号。 |
![]() |
获取当前画面中指定ID的物体数量。 |
![]() |
获取某一指定物体的相关数据。 |
![]() |
当出现多个同类的物体时,获取某一指定物体的相关数据。 |
6. 物体追踪积木
6.1 追踪物体输出相关数据
HUSKYLENS 2 检测到可追踪的目标物体时可获取相关追踪数据,并通过串口打印输出。可以读取的数据有:物体的ID、名称、xy坐标、宽度、高度。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。
通过触屏,进入HUSKYLENS 2 的物体追踪功能。
将HUSKYLENS 2 的摄像头对准画面中的要追踪的物体(追踪物体须先框选目标,详见物体追踪使用说明)。
追踪目标框选完成后在Mind+中打开串口,观察输出结果。
运行结果:可输出追踪到的物体ID、名称、xy坐标、宽度、高度。物体名称默认为"track",如需修改名称,详见物体追踪使用说明 。
6.2 物体追踪积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的物体追踪功能下,用于获取一次物体追踪的数据结果。 |
![]() |
判断当前画面中是否存在可追踪的目标物体。 |
![]() |
获取追踪的目标物体的相关数据。 |
7. 颜色识别积木
7.1 识别颜色输出相关数据
可识别HUSKYLENS 2 视野内的色块,并将相关数据通过串口打印输出,可以读取的数据有:靠近HUSKYLENS 2 摄像头画面中心的色块ID号、检测到的色块总数、第一个检测到的色块ID号等等。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。
通过触屏,进入HUSKYLENS 2 的颜色识别功能。
将HUSKYLENS 2 的十字光标对准画面中的色块进行学习,如何学习颜色详细操作请看:颜色识别功能说明。
学习完成后在Mind+中打开串口,观察输出结果。
运行结果:可输出检测到的色块总数,无论该色块是否已学习,只要方框框出色块,就会计数。可按要求输出相应色块ID号,其中靠近中心的色块被白框框出,即未学习的色块,因此输出的ID号为0。
7.2 获取指定颜色的相关数据
HUSKYLENS 2 识别颜色后,可获取画面中指定颜色的相关数据。例如,判断某个已学习的颜色是否在画面中、指定颜色的名称、可获取画面中相同颜色的色块数量,当画面中出现多个相同颜色的色块时,可指定获取其中某个色块的相关参数,包括名称、X/Y坐标、宽度、高度。
示例程序如下:
运行结果:如图所示,可获取到画面中ID1的色块总数、ID1的色块名称,以及第一个检测到的ID1色块的坐标位置。(颜色名称可以自定义,默认为“颜色”,设置名字详见颜色识别功能说明。)
7.3 颜色识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的颜色识别功能下,用于获取一次颜色识别的数据结果。 |
![]() |
判断当前画面中是否存在可识别的色块。 |
![]() |
获取离屏幕十字光标最近的一个色块的相关数据,包括色块的ID、色块的名称、色块中心点X坐标、色块中心点Y坐标、宽度、高度。 |
![]() |
当检测到多个色块时,获取某一指定色块的相关数据。(若该色块为学习,则ID号为0)。 |
![]() |
判断指定ID的颜色是否存在于画面中。(HUSKYLENS 2 学习颜色后,会按学习顺序分配ID号)。 |
![]() |
获取当前画面中某个已学习颜色的色块数量。 |
![]() |
获取某个已学习颜色的相关数据。 |
![]() |
当出现多个相同颜色的色块时,获取其中某一指定色块的相关数据。 |
8. 自学习分类积木
8.1 识别已学习物体输出ID与名称
在自定义学习分类功能下,HUSKYLENS 2 能学习任何自定义物体,学习后识别出来。自定义分类功能的使用说明详情请见自定义分类
在自定义分类功能下,当已学习某一物体后,HUSKYLENS 2 再次见到该物体就能识别出来,可以使用以下示例程序获取识别的已学习的物体对应ID和名称。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HUSKYLENS 2 的自学习分类功能。
运行结果:如下,当已学习过的某一物体出现在画面中时会被框出同时显示其ID与置信度。打开Mind+的串口观察输出的对应ID,如果未设置该物体的名称,则输出名称默认为:物体。
运行结果:如果为一个已学习过的物体设置了名称,串口输出的名称就和HUSKYLENS 2 屏幕显示的名称保持一致。如何设置名称请见自学习分类参数设置
8.2 自学习分类积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的自学习分类功能下,用于获取一次识别到底已学习的物体的识别结果。 |
![]() |
判断是否检测到已学习过的某一物体。 |
![]() |
获取某一已学习过物体的相关数据包括ID与名称。ID从1起按照学习的先后顺序依次排列。若未自定义物体名称则默认名称为物体;若已自定义了物体名称,输出的名称与HUSKYLENS 2 屏幕显示的名称保持一致。 |
9. 手势识别积木
9.1 识别手势输出相关数据
可检测HUSKYLENS 2 视野内的手势,并将相关数据通过串口打印输出,可以读取的数据有:靠近HUSKYLENS 2 摄像头画面中心的手势ID号、画面中检测到的手势总数、检测到的第一个手势ID号。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。
通过触屏,进入HUSKYLENS 2 的手势识别功能。将HUSKYLENS 2 的摄像头对准画面中的手势分别学习,如何学习手势详细操作请看:手势识别功能说明。
学习完成后在Mind+中打开串口,观察输出结果。
运行结果:可输出检测到的手势总数,不管是否为学习过的手势,只要检测到手势都会计数(方框框出即检测为手势)。可按要求输出相应手势的ID号,学习过的手势会按照学习顺序分配ID号,未学习过的手势,其ID号为0。
9.2 获取指定手势的相关数据
HUSKYLENS 2 识别手势后,可获取画面中指定手势的相关数据。例如,判断某个已学习的手势是否在画面中、指定手势的名称、可获取画面中相同手势的数量,当画面中出现多个相同手势时,可指定获取其中某个手势的相关参数,包括名称、X/Y坐标、宽度、高度。
示例程序如下
运行结果:如图所示,可获取到画面中ID1手势数量、名称,以及检测到的第一个ID1手势的坐标位置。
9.3 手势识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的手势识别功能下,用于获取一次手势识别的数据结果。 |
![]() |
判断当前画面中是否存在手势。 |
![]() |
获取离屏幕十字光标最近的一个手势的相关数据,包括手势的ID、手势的名称、手势中心点X坐标、手势中心点Y坐标、宽度、高度。 |
![]() |
获取屏幕中所有检测到的手势的数量。 |
![]() |
当检测到多个手势时,获取某一指定手势的相关数据。 |
![]() |
判断指定ID的手势是否存在于画面中。(HUSKYLENS 2 学习手势后,会按学习顺序分配ID号)。 |
![]() |
获取当前画面中某个指定ID的手势的总数。 |
![]() |
获取某个指定ID的手势的相关数据。 |
![]() |
当出现多个相同的指定ID的手势时,获取某一指定手势的相关数据。 |
10. 姿态识别积木
10.1 识别人体输出相关数据
在姿态识别功能下,HUSKYLENS 2 可识别视野内的人体,并将相关数据通过串口打印输出,可以读取的数据有:靠近HUSKYLENS 2 摄像头画面中心的人体姿态ID号、检测到的人体总数、检测到的第一个姿态的ID号。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。
通过触屏,进入HUSKYLENS 2 的姿态识别功能。将HUSKYLENS 2 的摄像头对准画面中的人体姿态进行学习,如何学习姿态详细操作请看:姿态识别功能说明
学习完成后在Mind+中打开串口,观察输出结果。
运行结果:可输出检测到的人体总数;可按要求输出相应人体姿态ID号,已学习的人体姿态会按学习顺序分配ID号,未学习的姿态,ID号为0。
10.2 获取指定姿态的相关数据
HUSKYLENS 2 识别人体姿态后,可获取画面中指定姿态的相关数据。例如,判断某个已学习的姿态是否在画面中、指定姿态的名称、可获取画面中相同姿态的数量,当画面中出现多个相同姿态时,可指定获取其中某个姿态的相关参数,包括名称、X/Y坐标、宽度、高度。
示例程序如下
运行结果:如图所示,可获取到画面中的姿态总数、画面中ID1姿态数量、名称,以及检测到的第一个ID1姿态的坐标位置。
10.3 姿态识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的姿态识别功能下,用于获取一次姿态识别的数据结果。 |
![]() |
判断当前画面中是否存在人体。 |
![]() |
获取离屏幕十字光标最近的一个人体姿态的相关数据,包括人体姿态的ID、人体姿态的名称、人体姿态中心点X坐标、人体姿态中心点Y坐标、宽度、高度。 |
![]() |
获取屏幕中所有检测到的人体数量。 |
![]() |
当出现多个人体时,获取某一指定人体的相关数据。 |
![]() |
判断某个指定ID的姿态是否存在于画面中。(HUSKYLENS 2 学习姿态后,会按学习顺序分配ID号)。 |
![]() |
获取当前画面中某个指定ID姿态的数量。 |
![]() |
获取某个指定ID姿态的相关数据。 |
![]() |
当出现多个相同姿态时,获取其中某一个姿态的相关数据。 |
11. 车牌识别积木
11.1 识别车牌输出相关数据
在车牌识别功能下,当车牌出现在HUSKYLENS 2 屏幕中时,可以被识别和框出,我们可以获取HUSKYLENS 2 画面中离十字光标最近的车牌的相关数据并在串口打印出来,可以读取车牌的数据有:车牌ID、车牌名称、车牌内容(车牌号)、宽度、高度以及车牌中心点的X坐标位置和Y坐标位置。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HUSKYLENS 2 的车牌识别功能。
将HUSKYLENS 2 的摄像头对准车牌,在Mind+中打开串口,观察输出结果。
运行结果:如下,对于未学习过的车牌默认输出ID为0。
可以对准一张学习过的车牌,如何学习车牌详细操作请看:车牌识别功能说明
运行结果:如下,对于已学习过的车牌输出ID与HUSKYLENS 2 屏幕显示的ID保持一致。
11.2 统计车牌数量输出指定车牌的数据
当画面中出现多张车牌时,可以使用以下示例程序统计画面中的车牌数量,获取指定ID车牌的相关数据。
运行结果:如下,当画面中出现多个车牌时,HUSKYLENS 2 可以识别到所有车牌(未学习和已学习的),通过串口能观察统计的当前画面的车牌总数。同时串口输出打印指定的ID为1的车牌的相关数据。
11.3 统计指定车牌数量输出相关数据
当画面中出现多张同一ID的车牌(已学习的车牌ID按学习顺序分配,未学习的车牌ID统一为0)时,可以使用以下示例程序统计画面中的同一ID车牌的数量,获取指定一张ID车牌的相关数据。
运行结果:如下,当画面中出现多个相同车牌时,HUSKYLENS 2 可以识别画面中所有ID为1的车牌(前提时已学习某一车牌并分配ID为1,未学习过的车牌统一ID为0),通过串口能观察统计的当前画面的ID1车牌总数。同时串口输出第一张ID为1的车牌的相关数据。
11.4 车牌识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的车牌识别功能下,用于获取一次车牌识别的数据结果。 |
![]() |
判断当前画面中是否存在车牌。 |
![]() |
获取离屏幕十字光标最近的一个车牌的相关数据,包括车牌的ID、车牌名称、车牌中心点X坐标、车牌中心点Y坐标、宽度、高度和解析出的车牌内容。 |
![]() |
获取屏幕中所有检测到的车牌的数量,包括未学习的和已学习的车牌。 |
![]() |
当出现多个车牌时,获取某一指定车牌的相关数据。 |
![]() |
判断指定ID的车牌是否存在在画面中。未学习的车牌ID统一为0,已学习的车牌ID按学习顺序排序。 |
![]() |
获取当前画面中指定ID的车牌数量。 |
![]() |
获取当前画面中指定ID的车牌的相关数据。 |
![]() |
当出现多个同一ID的车牌时,获取某一指定车牌的相关数据。 |
12. 光学字符识别积木
12.1 识别文字输出中心附近文字的相关数据
在光学字符识别功能下,HUSKYLENS 2 可识别并框出视野内文字块出现的区域,并将识别到的文字显示在左上角,可使用以下示例程序,统计画面中可识别文字区域的总数、获取画面中离十字光标最近的文字块,并将相关数据通过串口打印输出,可以读取的数据有:文字块的ID 、名称、内容、中心点X坐标和Y坐标、文字块宽度和高度。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HUSKYLENS 2 的光学字符识别功能。
将HUSKYLENS 2 的摄像头对准任意光学字符,在Mind+中打开串口,观察输出结果。
运行结果:如下,对于未学习过的文字块默认输出ID为0。
可以对准一张学习过的文字块,如何学习光学字符详细操作请看:光学字符识别功能说明。
运行结果:如下,对于已学习过的文字块输出ID与HUSKYLENS 2 屏幕显示的ID保持一致。
注:在光学字符识别功能下,HUSKYLENS 2能检测出画面中所有文字块出现的区域并用方框圈出,但是只识别离十字光标最近的一个文字块区域的内容并显示在方框左上角。
12.2 光学字符识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的光学字符识别功能下,用于获取一次文字识别的数据结果。 |
![]() |
判断当前画面中是否检测到文字。 |
![]() |
获取离屏幕十字光标最近的一个文字的相关数据,包括文字的ID、名称、中心点X坐标、中心点Y坐标、宽度、高度。 |
![]() |
获取屏幕中所有检测到的文字区域的总数量。 |
![]() |
当检测到多个文字块时,获取某一指定文字块的相关数据。 |
![]() |
判断指定ID的文字块是否存在于画面中。 |
![]() |
获取指定ID的文字块总数。 |
![]() |
获取某个ID文字块的相关数据。 |
![]() |
当出现多个相同文字块时,获取其中某一指定文字块的相关数据。 |
13. 巡线积木
正在更新中....
14. 表情识别积木
14.1 识别画面中的所有表情
在表情识别功能下,HUSKYLENS 2 能识别7种特定的表情:愤怒(ID为1)、厌恶(ID为2)、恐惧(ID为3)、开心(ID为4)、中性(ID为5)、悲伤(ID为6)和惊讶(ID为7)。以上表情已经在HUSKYLENS 2 出厂时学习完毕,无需用户再次手动学习,表情识别的详细功能使用说明请见表情识别功能说明。
通过以下示例程序能统计当前HUSKYLENS 2 摄像头画面出识别出的所有表情的数量,并依次输出各个表情的相关数据。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HUSKYLENS 2 的表情识别功能。
当任意以上七种表情出现在摄像头画面中,观察HUSKYLENS 2 的屏幕会将表情框出,显示表情名称和置信度。
运行结果:如下,当出现一张带有恐惧表情的人脸图像时,观察串口输出当前识别到的表情总数和对应名称。
运行结果:如下,当出现多张带有表情的人脸图像时,观察串口输出当前识别到的表情总数和各个表情名称。
14.2 统计每类表情数量
在已知表情识别功能下输出的ID只有数字1——7(对应7种表情)的情况下,我们可以使用以下示例程序统计当前HUSKYLENS 2 摄像头画面出识别出的每一类表情的数量。
示例程序如下
运行结果:如下,运行程序,当画面中出现多张不同表情的人脸图像时,观察串口输出当前识别到的每一类表情总数的名称和对应数量。
14.3 表情识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的表情识别功能下,用于获取一次表情识别的数据结果。 |
![]() |
判断当前画面中是否特定的七类表情(愤怒(ID为1)、厌恶(ID为2)、恐惧(ID为3)、开心(ID为4)、中性(ID为5)、悲伤(ID为6)和惊讶(ID为7))。 |
![]() |
获取离屏幕十字光标最近的一个表情的相关数据,包括表情的ID、名称、中心点X坐标、中心点Y坐标、宽度、高度。 |
![]() |
获取屏幕中所有检测到的表情总数量。 |
![]() |
当检测到多个表情时,获取某一指定表情的相关数据。 |
![]() |
判断指定ID的表情是否存在于画面中(愤怒(ID为1)、厌恶(ID为2)、恐惧(ID为3)、开心(ID为4)、中性(ID为5)、悲伤(ID为6)和惊讶(ID为7))。 |
![]() |
获取指定ID的表情总数。 |
![]() |
获取某个ID表情的相关数据。 |
![]() |
当出现多个相同表情时,获取其中某一指定表情的相关数据。 |
15. 标签识别积木
15.1 识别标签输出相关数据
在标签识别功能下,HUSKYLENS 2 能识别出现在画面中的AprilTag标签,可以通过编程获取画面中离十字光标最近的标签的相关数据并在串口打印出来,可以读取标签数据有:标签ID、标签内容、标签宽度、标签高度以及标签中心点的X坐标位置和Y坐标位置。
示例程序如下
在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HUSKYLENS 2 的标签识别功能。
当识别出标签后,观察HUSKYLENS 2 的屏幕会将标签框出,并在方框的左上角显示解析出的标签内容,打开Mind+的串口,观察串口输出离十字光标最近的一个标签的相关数据。
运行结果:如下,对于未学习过的标签默认输出ID为0,串口输出的标签内容与HUSKYLENS 2 的屏幕显示的保持一致。
运行结果:如下,对学习过的标签串口输出的标签ID,标签内容与HukyLens 2的屏幕显示的保持一致。
注意:当发现标签完整的出现在摄像头画面中,但HUSKYLENS 2 识别不出来时,请检查标签的尺寸是否与参数Dict设置的标签尺寸保持一致。
如何使用标签识别功能,详细操作请看:标签识别功能说明。
AprilTag标签在线生成网站链接:https://www.2weima.com/aruco.html
15.2 统计标签总数输出指定标签的数据
当画面中出现多张标签时,可以使用以下示例程序统计画面中的标签数量,获取指定ID标签的相关数据。
示例程序如下
运行结果:如下,当画面中出现多个标签时,HUSKYLENS 2 可以识别到所有标签(未学习和已学习的),通过串口能观察统计的当前画面的标签总数。同时串口输出打印指定的标签ID为1的标签的相关数据。
15.3 统计指定标签数量输出相关数据
当画面中出现多张同一ID的标签(已学习的标签ID按学习顺序分配,未学习的标签ID统一为0)时,可以使用以下示例程序统计画面中的同一ID标签的数量,获取指定一张ID标签的相关数据。
示例程序如下
运行结果:如下,当画面中出现多个相同标签时,HUSKYLENS 2 可以识别画面中所有ID为1的标签(前提时已学习某一标签并分配ID为1,未学习过的标签统一ID为0),通过串口能观察统计的当前画面的ID1标签总数。同时串口输出第一张ID为1的标签的相关数据。
15.4 标签识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的标签识别功能下,用于获取一次标签识别的数据结果。 |
![]() |
判断当前画面中是否存在标签。 |
![]() |
获取离屏幕十字光标最近的一个标签的相关数据,包括标签的ID、标签中心点X坐标、标签中心点Y坐标、宽度、高度和解析出的标签内容。 |
![]() |
获取屏幕中所有检测到的标签的数量,包括未学习的和已学习的标签。 |
![]() |
当出现多个标签时,获取某一指定标签的相关数据。 |
![]() |
判断指定ID的标签是否存在在画面中。未学习的标签ID统一为0,已学习的标签ID按学习顺序排序。 |
![]() |
获取当前画面中指定ID的标签数量。 |
![]() |
获取当前画面中指定ID的标签的相关数据。 |
![]() |
当出现多个同一ID的标签时,获取某一指定标签的相关数据。 |
16. 二维码识别积木
16.1 识别二维码输出相关数据
在二维码识别功能下,HUSKYLENS 2 能识别出现在画面中的二维码,可以通过编程获取画面中离十字光标最近的二维码的相关数据并在串口打印出来,可以读取数据有:二维码ID、二维码名称、二维码解码内容、二维码宽度、二维码高度以及二维码中心点的X坐标位置和Y坐标位置。
以下是示例程序
在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HUSKYLENS 2 的标签识别功能。
当识别出二维码后,观察HukyLens 2的屏幕会将二维码框出,并在方框的左上角显示解析出的二维码内容,打开Mind+的串口,观察串口输出离十字光标最近的一个二维码的相关数据。
运行结果:如下,对于未学习过的二维码默认输出ID为0,串口输出的二维码内容与HukyLens 2的屏幕显示的保持一致。
运行结果:如下,对学习过的二维码串口输出的标签ID,标签内容与HUSKYLENS 2 的屏幕显示的保持一致。
如何使用二维码识别功能,详细操作请看:二维码识别使用说明
二维码在线生成网站链接:https://cli.im/
16.2 统计二维码总数输出指定二维码的数据
当画面中出现多张二维码时,可以使用以下示例程序统计画面中的二维码数量,获取指定ID二维码的相关数据。
示例程序如下
运行结果:如下,当画面中出现多个二维码时,HUSKYLENS 2 可以识别到所有二维码(未学习和已学习的),通过串口能观察统计的当前画面的二维码总数。同时串口输出打印指定的ID为1的二维码的相关数据。
16.3 统计指定二维码数量输出相关数据
当画面中出现多张同一ID的二维码(已学习的标签ID按学习顺序分配,未学习的标签ID统一为0)时,可以使用以下示例程序统计画面中的同一ID二维码的数量,获取指定一张ID二维码的相关数据。
示例程序如下
运行结果:如下,当画面中出现多个相同二维码时,HUSKYLENS 2 可以识别画面中所有ID为1的二维码(前提时已学习某一二维码并分配ID为1,未学习过的二维码统一ID为0),通过串口能观察统计的当前画面的ID1二维码总数。同时串口输出第一张ID为1的二维码的相关数据。
16.4 二维码识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的二维码识别功能下,用于获取一次二维码识别的数据结果。 |
![]() |
判断当前画面中是否存在二维码。 |
![]() |
获取离屏幕十字光标最近的一个二维码的相关数据,包括二维码的ID、二维码名称、二维码中心点X坐标、二维码中心点Y坐标、宽度、高度和解析出的二维码内容。 |
![]() |
获取屏幕中所有检测到的二维码的数量,包括未学习的和已学习的二维码。 |
![]() |
当出现多个二维码时,获取某一指定二维码的相关数据。 |
![]() |
判断指定ID的二维码是否存在在画面中。未学习的二维码ID统一为0,已学习的二维码ID按学习顺序排序。 |
![]() |
获取当前画面中指定ID的二维码数量。 |
![]() |
获取当前画面中指定ID的二维码的相关数据。 |
![]() |
当出现多个同一ID的二维码时,获取某一指定二维码的相关数据。 |
17. 条形码识别积木
17.1 识别条形码输出相关数据
在条形码识别功能下,HUSKYLENS 2 能识别出现在画面中的条形码,可以通过编程获取画面中离十字光标最近的标签的相关数据并在串口打印出来,可以读取标签数据有:条形码ID、条形码内容、条形码宽度、条形码高度以及条形码中心点的X坐标位置和Y坐标位置。
以下是示例程序
在Mind+中点击上传到设备,等待程序上传完成后。通过触屏,进入HUSKYLENS 2 的条形码识别功能。
当识别出条形码后,观察HUSKYLENS 2 的屏幕会将标签框出,并在方框的左上角显示解析出条形码内容,打开Mind+的串口,观察串口输出离十字光标最近的一个条形码的相关数据。
运行结果:如下,对于未学习过的条形码默认输出ID为0,串口输出的条形码内容与HUSKYLENS 2 的屏幕显示的保持一致。
运行结果:如下,对学习过的条形码串口输出的标签ID,条形码内容与HUSKYLENS 2 的屏幕显示的保持一致。
如何使用条形码识别功能,详细操作请看:条形码识别功能说明
条形码在线生成网站链接:https://www.ecjson.com/barcode/
17.2 统计条形码总数输出指定条形码的数据
当画面中出现多张条形码时,可以使用以下示例程序统计画面中的条形码数量,获取指定ID条形码的相关数据(未学习的条形码ID统一为0,已学习的条形码ID按学习顺序排序)。
示例程序如下
运行结果:如下,当画面中出现多个条形码时,HUSKYLENS 2 可以识别到所有条形码(未学习和已学习的),通过串口能观察统计的当前画面的条形码总数。同时串口输出打印指定的ID为1的条形码的相关数据。
17.3 条形码识别积木说明
积木 | 说明 |
---|---|
![]() |
HUSKYLENS 2 的条形码识别功能下,用于获取一次条形码识别的数据结果。 |
![]() |
判断当前画面中是否存在条形码。 |
![]() |
获取离屏幕十字光标最近的一个条形码的相关数据,包括条形码的ID、条形码名称、条形码中心点X坐标、条形码中心点Y坐标、宽度、高度和解析出的条形码内容。 |
![]() |
获取屏幕中所有检测到的条形码的数量,包括未学习的和已学习的条形码。 |
![]() |
当出现多个条形码时,获取某一指定条形码的相关数据。 |
![]() |
判断指定ID的条形码是否存在在画面中。未学习的条形码ID统一为0,已学习的条形码ID按学习顺序排序。 |
![]() |
获取当前画面中指定ID的条形码数量。 |
![]() |
获取当前画面中指定ID的条形码的相关数据。 |
![]() |
当出现多个同一ID的条形码时,获取某一指定条形码的相关数据。 |