当前位置: 首页 > news >正文

opencv实时二维码识别的一种实现与思路分享

在嵌入式平台上比如 rk3568 这种弱鸡的平台,要做到实时视频处理就非常鸡肋,不像英伟达那种 deepstrem 什么的。
开始的时候,我们使用python 下的 pyzbar + opencv
opencv 读取摄像头的数据然后每帧送到 pyzbar 二维码识别函数里面进行处理,然后打印出识别的数字。结果,非常卡。

优化思路1:利用opencv 支持gstreamer 可否优化速度,编译了很久opencv 但是利用:
print(cv2.getBuildInformation()) 一直显示不支持,暂时放弃。

优化思路2:只执行opencv 读取摄像头数据然后 展示,对比 opencv 直接读取和利用 gstreamer 的python 库直接读,然后展示发现两者速度基本一样,回顾代码,发现占用时间较长的是 二维码的识别。
那么优化二维码识别函数。

如何优化? 可以看到,函数针对 一个图像帧做处理,稍微了解二维码结构的都知道,二维码周围的三个 黑色的方框是二维码的定位特征,那么,如果我们只给 解析函数传送只有二维码的部分,其他不传入,是不是可以提供速度。

代码如下:


import cv2
from pyzbar.pyzbar import decode


def read_qr_code(ima

相关文章:

  • pandas数据存到informix数据库
  • 14.5 Auto-GPT:基于Agent的AGI实验如何重新定义人工智能未来?
  • 面向机器学习的Java库与平台简介、适用场景、官方网站、社区网址
  • pyscenic运行报错:ValueError: Intersection of gene_names and tf_names is empty
  • Visual Studio 2022配置网址参考
  • 深入理解 Rust 中的智能指针
  • MKS SERVO42E57E 闭环步进电机_系列10 STM32_脉冲和串口例程
  • Quasar:轻量级、高效的.NET远程管理工具
  • 基于云的物联网系统用于实时有害藻华监测:通过MQTT和REST API无缝集成ThingsBoard
  • P2865 [USACO06NOV] Roadblocks G 与最短路的路径可重复的严格次短路
  • Javascript网页设计实例:通过JS实现上传Markdown转化为脑图并下载脑图-完整源代码,开箱即用
  • 快速入门——第三方组件element-ui
  • Missing required prop: “maxlength“
  • 华为昇腾910b服务器部署DeepSeek翻车现场
  • C语言-进程
  • vue组件,父子通信,路由,异步请求后台接口,跨域
  • 2.5GE 超千兆SFP光模块型号(常用光模块收发光功率范围)
  • 图谱洞见:专栏概要与内容目录
  • java实现动态数组
  • wps中zotero插件消失,解决每次都需要重新开问题
  • 官方通报汕头违建豪宅“英之园”将强拆:对有关人员严肃追责问责
  • 七猫征文大赛颁出112万奖金,非遗题材作品斩获金奖
  • 小雨伞保险经纪母公司手回集团通过港交所聆讯
  • 350种咖啡主题图书集结上海,20家参展书店买书送咖啡
  • “家国万里时光故事会” 举行,多家庭共话家风与家国情怀
  • 李峰已任上海青浦区委常委