Python调用PC摄像头实现扫描二维码(python调用电脑摄像头)燃爆了

随心笔谈2年前发布 admin
197 0 0

文章摘要

这篇文章介绍了一种使用Python编程实现摄像头扫描QR码功能的方法。文章详细描述了代码的主要步骤,包括: 1. 使用`cv2`模块打开摄像头并设置窗口大小。 2. 通过`pyzbar`模块检测摄像头中的QR码。 3. 使用`winsound`模块在扫描到的每个QR码上发出提示音。 4. 在屏幕上显示扫描到的QR码内容,并使用`cv2`模块绘制边界框和文字。 5. 检测到的QR码数据通过打印输出。 6. 当按下ESC键时,程序退出并释放摄像头资源。 文章的核心内容是通过计算机视觉技术结合声音提示,实现简便的QR码扫描功能。

import cv2
from pyzbar import pyzbar
import winsound

# 打开摄像头
cap=cv2.VideoCapture(0)

# 设置窗口名和窗口大小
cv2.namedWindow(‘Scan QR Code’, cv2.WINDOW_NORMAL)
cv2.resizeWindow(‘Scan QR Code’, 800, 600)

# 创建声音提示函数
def beep():
frequency=2500
duration=1000
winsound.Beep(frequency, duration)

while True:
# 读取摄像头画面
_, frame=cap.read()

# 转换为灰度图像
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, 0, 255), 2)
cv2.putText(frame, barcode.data.decode(‘utf-8’), (x, y-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2)

# 发出声音提示
beep()

# 输出扫描到的二维码内容
print(barcode.data.decode(‘utf-8’))

# 显示图像
cv2.imshow(‘Scan QR Code’, frame)

# 按下ESC键退出程序
if cv2.waitKey(1)==27:
break

# 释放摄像头资源
cap.release()

# 关闭所有窗口
cv2.destroyAllWindows()

© 版权声明

相关文章