12| 5
|
[试用测评] 【花雕动手做】AI视觉二哈识图2之统计指定二维码数量据 |
![]() HUSKYLENS 2 (二哈识图 2) 是一款简单易用、玩法多样的AI视觉传感器,采用6TOPS算力专用AI芯片,预置人脸识别、目标检测、物体分类、姿态识别、实例分割等20余种开机即用的AI模型,同时,用户还可部署自行训练的模型,教会二哈识图识别任意目标物体。板载的UART / I2C端口,可以与主流控制器Arduino、micro:bit、ESP32、Raspberry Pi等开源硬件无缝连接,被广泛应用于创客、AI教育、STEAM教育和交互艺术领域。 ![]() 1、测试实验硬件连接 将HukyLens 2 连接到Arduino主板对应的I2C引脚,使用电源线连接Arduino Uno与电脑。额外供电提示:Arduino Uno的I2C引脚输出的电压不足以支持HUSKYLENS 2正常工作,当HUSKYLENS 2接在Arduino Uno上时须有额外数据线连接HUSKYLENS 2的Type-C接口与电源,为HUSKYLENS 2进行额外供电。接线图可参考下图。 ![]() 2、设置测试实验平台 打开 Mind+ 编程软件,选择主控板 Arduino,加载HUSKYLENS 2 库 ![]() |
3、识别二维码,是指通过图像采集与解码技术,从二维码图案中提取出所包含的信息。二维码(QR Code)是一种二维条码,它以黑白模块构成的矩阵图案编码数据,具有高密度、容错性强、可快速读取等特点。 (1)什么是二维码识别? 二维码识别是指设备(如摄像头、扫描器或图像处理系统)对二维码图像进行分析、定位、解码,从而获取其中存储的信息,如网址、文本、产品编号、身份信息等。 (2)识别流程简述 图像采集:通过摄像头或扫描器获取二维码图像。 图像预处理:去除噪声、增强对比度、校正角度。 定位二维码区域:识别二维码的位置与边界。 解码分析:根据二维码标准(如 QR Code、Data Matrix)解析模块排列,提取编码数据。 输出信息:将解码结果转换为可读内容,如字符串、链接、指令等。 (3)技术实现方式 硬件识别:使用专用扫码枪或嵌入式模块进行快速识别。 软件识别:利用图像处理库(如 OpenCV、Zxing、ZBar)在计算机或移动设备上识别二维码。 AI增强识别:结合深度学习模型提升识别准确率,尤其在模糊、遮挡或复杂背景下。 (4)应用场景 移动支付与扫码登录 工业自动化与产品追踪 医疗标签与药品识别 零售商品管理与促销活动 门票验证与身份识别 ![]() |
4、AI 视觉传感器 HUSKYLENS 2 之统计指定二维码数量输出相关数据 当画面中出现多张同一ID的二维码(已学习的标签ID按学习顺序分配,未学习的标签ID统一为0)时,可以使用以下示例程序统计画面中的同一ID二维码的数量,获取指定一张ID二维码的相关数据。 ![]() 测试实验开源代码
|
该程序使用 HUSKYLENS 2 AI 视觉传感器识别图像中的二维码,并执行以下任务: 检查是否识别到 ID 为 1 的二维码 统计该 ID 的二维码数量; 输出第一个 ID 为 1 的二维码的中心坐标 每次识别间隔 10 秒,适合稳定测试或演示。 代码解读 1. 引入库与创建对象 cpp
引入 HUSKYLENS 官方库,提供与设备通信的函数接口。 创建 huskylens 对象,用于后续调用识别算法和获取识别结果。 2. 初始化函数 setup() cpp
初始化串口通信(用于数据输出)和 I2C 通信(用于与 HUSKYLENS 连接)。 使用 huskylens.begin(Wire) 建立设备连接,若失败则每 100 毫秒重试一次。 成功连接后输出提示信息,说明设备已准备好开始识别。 3. 主循环函数 loop() cpp
请求 HUSKYLENS 执行二维码识别算法,处理当前画面。 cpp
判断是否有识别结果可用,避免空数据处理。 4. 检查并输出指定 ID 的二维码信息(ID = 1) cpp
判断是否存在 ID 为 1 的二维码,避免空指针错误。 cpp
使用 getCachedResultNumByID() 获取当前画面中 ID 为 1 的二维码数量,并输出。 cpp
输出第一个该 ID 的二维码在图像中的中心坐标(X.Y格式),便于定位或跟踪。 5. 延迟控制 cpp
每次识别后延迟 10 秒,避免过于频繁地读取数据,适合稳定测试或演示。 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed