本页目录

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

QR码读取器

演示

QR码读取器

管道

QR码读取器

描述

QR码读取器应用专为充分利用__OAK-1 MAX__中集成的__IMX582__传感器(32MP = 5312x6000像素)而设计。对于其他OAK型号,应将其配置为以__4K分辨率__运行。为了最大化高分辨率能力,QR码检测过程对于5312x6000分辨率变体如下工作(4K变体采用类似流程,但裁剪尺寸不同):
  1. 图像裁剪: 高分辨率图像被分割成九个等大的裁剪块(1000x1000x3),与512x512的神经网络输入帧大小紧密匹配。
  2. QR码检测: 对每个裁剪块进行推理。
  3. QR码裁剪: 对于每个检测到的QR码,在高分辨率图像上进行裁剪。
  4. QR码解码: 应用从这些裁剪块中解码QR码。
  5. 可视化: 在本地使用OpenCV(cv2)进行结果可视化,而在Luxonis Hub部署中,结果以图像事件的形式发送。

优势

QR码读取器应用擅长读取远处或本身很小(或两者兼有)的小型QR码。在内部测试中,该应用成功检测并__解码了距离1米之外的1.3cm x 1.3cm QR码__,使用的是__OAK-1 MAX__。

限制

  • 帧率: 在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。
  • 自动对焦:手动对焦更优,因为自动对焦在低帧率下速度较慢。

运行时

大量数据从OAK传输到控制器(PC、笔记本电脑等),必须使用USB3或至少1Gbps以太网。

本地执行

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

Luxonis Hub执行

该应用在Luxonis Hub的__Luxonis应用__部分中可用,名称为__QR码读取器__。

查看源代码

GitHub标志