一、准备工作
在开始之前,请确保您的Ubuntu系统已更新到最新版本。以下是准备工作:
-
sudo apt install libzbar0 libzbar-dev
更新系统:
sudo apt update
sudo apt upgrade
安装OpenCV: OpenCV是一个开源的计算机视觉库,可以用于图像和视频处理。以下是安装OpenCV的命令:
sudo apt install opencv-python opencv-python-dev
二、编写代码
import cv2
import zbar
# 创建一个图像捕获对象
cap = cv2.VideoCapture(0)
# 创建一个ZBar扫描器对象
scanner = zbar.Scanner()
scanner.parse_config('enable')
while True:
# 读取一帧图像
ret, frame = cap.read()
# 将图像转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 扫描图像中的二维码
results = scanner.scan(gray)
# 遍历识别到的二维码
for result in results:
# 获取二维码数据
data = result.data.decode('utf-8')
print("二维码数据:", data)
# 在图像上绘制二维码边界框
x, y, width, height = result.position
cv2.rectangle(frame, (x, y), (x + width, y + height), (0, 255, 0), 2)
# 显示图像
cv2.imshow('二维码识别', frame)
# 按'q'键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
cap.release()
cv2.destroyAllWindows()
三、运行程序
将上述代码保存为qrcode_reader.py文件。
在终端中运行以下命令来执行程序:
python qrcode_reader.py