+
86
-

opencv如何检测图片或视频中是否有二维码并读取二维码内容?

opencv如何检测图片或视频中是否有二维码并读取二维码内容?


网友回复

+
4
-

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%

我知道答案,我要回答