网友回复
OpenCV 结合 ZBar 库可以很方便地检测和读取图片或视频中的二维码。以下是具体的实现步骤和代码示例:
安装必要的库首先,确保安装了 OpenCV 和 pyzbar 库:
pip install opencv-python pip install pyzbar图片中的二维码检测和读取
以下是检测和读取图片中二维码的代码:
import cv2 from pyzbar.pyzbar import decode def read_qr_code(image_path): # 读取图像 img = cv2.imread(image_path) # 转换为灰度图像 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 使用pyzbar检测二维码 qr_codes = decode(gray) if qr_codes: for qr in qr_codes: # 获取二维码数据 qr_data = qr.data.decode('utf-8') print(f"QR Code detected: {qr_data}") # 在图像上标记二维码位置 points = qr.polygon if len(points) > 4: hull = cv2.convexHull(np.array([point for point in points], dtype=np.float32)) points = hull else: points = np.array(points, dtype=np.int32) cv2.polylines(img, [points], True, (0, 255, 0), 2) # 在二维码上方显示解码的数据 cv2.putText(img, qr_data, (points[0][0], points[0][1] - 10), ...
点击查看剩余70%