技术文摘
Python、OpenCV 与 Pyzbar 实现实时摄像头二维码识别
Python、OpenCV 与 Pyzbar 实现实时摄像头二维码识别
在当今数字化的时代,二维码的应用变得越来越广泛。从产品溯源到移动支付,二维码提供了一种便捷的信息传递方式。而能够实时识别摄像头中的二维码,对于许多应用场景来说具有重要意义。本文将介绍如何使用 Python、OpenCV 和 Pyzbar 库来实现这一功能。
确保已经安装了所需的库。可以通过以下命令来安装 OpenCV 和 Pyzbar:
pip install opencv-python
pip install pyzbar
接下来,我们需要导入所需的库,并初始化摄像头。
import cv2
from pyzbar import pyzbar
cap = cv2.VideoCapture(0) # 0 表示默认摄像头
在获取摄像头的帧后,我们对每一帧进行处理,以检测其中的二维码。
while True:
ret, frame = cap.read()
if not ret:
break
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
barcodes = pyzbar.decode(gray)
for barcode in barcodes:
(x, y, w, h) = barcode.rect
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
barcode_data = barcode.data.decode('utf-8')
barcode_type = barcode.type
text = f"{barcode_data} ({barcode_type})"
cv2.putText(frame, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv2.imshow('QR Code Reader', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
通过不断读取摄像头的帧,将其转换为灰度图像,然后使用 Pyzbar 库进行二维码的解码。如果检测到二维码,会在图像上绘制矩形框并显示相关的信息。
使用 Python、OpenCV 和 Pyzbar 实现实时摄像头二维码识别,不仅为开发各种与二维码相关的应用提供了便利,还能够为自动化数据采集和交互带来新的可能性。无论是在智能家居、物流管理还是智能零售等领域,这一技术都有着广阔的应用前景。
通过上述简单的代码实现,我们能够轻松地搭建一个实时摄像头二维码识别系统,为各种实际应用提供有力的支持。
TAGS: Python 编程 OpenCV 图像处理 Pyzbar 二维码 实时摄像头
- 七款卓越的微服务跟踪工具
- 高效的房间预订 API 并发管理:乐观锁与消息队列
- 2023 CEIA 中国企业 IT 大奖评选火爆开启,谁将荣膺桂冠?
- 2024 年将至,别仅依赖 React,应学习 Vue 谋出路
- CSS Grid 助力响应式网页设计:解决媒体查询过载问题
- Spring Cloud 与 Java 构建微服务的十个实践案例
- 阿里面试:框架源码了解情况,举例阐述
- 四款 Pycharm 高效实用插件
- 基于 Pytorch 的目标检测从零基础开始 附源码
- AIoTel 中的视频编码(二)——快速视频编码技术探索
- C++ 中函数调用的解析方法
- 2024 年后端与 Web 开发趋向
- JavaScript 地位或动摇!WasmGC 会是下一个“网红”吗?
- C++ 中 bitset 深度解析
- Gorm 中的分页与排序学习