Python 摄像头识别条码和二维码程序 | OpenCV 和 zbar 库
以下是一个使用 OpenCV 和 zbar 库的 Python 程序,可以通过摄像头识别条码和二维码:
import cv2
from pyzbar import pyzbar
def decode(image):
# 将图像转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 使用zbar库解码条码和二维码
barcodes = pyzbar.decode(gray)
# 遍历解码结果
for barcode in barcodes:
barcodeData = barcode.data.decode('utf-8')
barcodeType = barcode.type
# 在图像上绘制解码结果
cv2.putText(image, barcodeData, (barcode.rect.left, barcode.rect.top),
cv2.FONT_HERSHEY_SIMPLEX, 0.9, (0, 255, 0), 2)
return image
# 打开摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取摄像头数据
ret, frame = cap.read()
# 调用解码函数进行识别
frame = decode(frame)
# 显示结果图像
cv2.imshow('Barcode Scanner', frame)
# 按下'q'键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头和关闭窗口
cap.release()
cv2.destroyAllWindows()
这个程序使用 OpenCV 库来捕获摄像头图像,并使用 zbar 库来解码图像中的条码和二维码。识别结果将在图像上显示出来。你可以根据需要对程序进行修改和优化,例如添加异常处理、调整解码阈值等。
原文地址: https://www.cveoy.top/t/topic/OfF 著作权归作者所有。请勿转载和采集!