此页面由 AI 自动翻译。查看英文原版

本页目录

  • 演示
  • 管道
  • 描述
  • 优点
  • 限制
  • 运行时
  • 本地执行
  • Luxonis Hub 执行

QR 代码读取器

演示

QR 代码读取器

管道

QR 代码读取器

描述

QR 代码读取器应用程序专门用于充分利用 OAK-1 MAX 中集成的 IMX582 传感器(32MP = 5312x6000 像素)。对于其他 OAK 型号, 应将其配置为以 4K 分辨率 运行。为了最大限度地发挥高分辨率功能,对于 5312x6000 分辨率变体,QR 代码检测过程如下所示 (4K 变体遵循类似过程,但裁剪尺寸不同):
  1. 图像裁剪: 高分辨率图像被分割成九个大小相等的裁剪区域(1000x1000x3),与 512x512 的神经网络输入帧大小非常匹配。
  2. QR 代码检测: 对每个裁剪区域运行推理。
  3. QR 代码裁剪: 对于每个检测到的 QR 代码,在高分辨率图像上进行裁剪。
  4. QR 代码解码: 应用程序从这些裁剪区域解码 QR 代码。
  5. 可视化: 本地使用 OpenCV (cv2) 可视化结果,而对于 Luxonis Hub 部署,结果将作为图像事件发送。

优点

QR 代码读取器应用程序在读取距离较远或尺寸本身较小的 QR 代码方面表现出色,或者两者兼而有之。在内部测试中,该应用程序使用 OAK-1 MAX 成功检测并 解码了 1 米外 1.3cm x 1.3cm 的 QR 代码

限制

  • 帧率: 对于 OAK-1 MAX 上的 5312x6000 分辨率,应用程序的运行速度最高为 2 FPS。 在 4K 分辨率下,应用程序的运行速度约为 3.3 FPS,分别对应于 18 FPS 和 30 FPS 的神经网络推理速度。 此应用程序中使用的 QR 代码检测神经网络 (YOLOv8) 的最高速度为 30 FPS。
  • 裁剪分割: 通过减少裁剪数量可以提高应用程序的速度。 将帧分割成 4 个裁剪区域可实现 7-8 FPS,而将其分割成 2 个裁剪区域可实现高达 15 FPS。
  • 实时视图:在 5312x6000 分辨率下运行时,实时视图可在 512x512 下使用。
  • 自动对焦:建议使用手动对焦,因为自动对焦在较低 FPS 下相对较慢。

运行时

大量数据会从 OAK 传输到您的控制器(PC、笔记本电脑等),因此使用 USB3 或至少 1Gbps 以太网至关重要。

本地执行

使用以下命令在本地运行应用程序:
Command Line
1python app.py
确保已安装所有依赖项。

Luxonis Hub 执行

该应用程序在 Luxonis Hub 的 Luxonis Apps 部分下,名称为 QR Code Reader

查看源代码

GitHub logo