当前位置: 首页 > 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
http://www.dtcms.com/a/31110.html

相关文章:

  • 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插件消失,解决每次都需要重新开问题
  • 【C++】在线五子棋对战项目网页版
  • Python之numpy
  • 【CS285】高斯策略对数概率公式的学习笔记
  • 【python】conda命令合集
  • Java版企电子招标采购系统源业码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
  • <02.21>八股文
  • 01 1个路由器+两个子网
  • Leetcode 二叉树展开为链表
  • c++:stack与deque
  • 基于Java+SpringBoot+Vue的前后端分离的汉服推广网站