Python2.7-OpenCv-Zbar识别二维码

 

一、引言

基于Ubuntu系统,在Python2.7的环境下,利用OpenCv-Zbar进行二维码识别,并将结果截图保存。

二、安装环境

安装OpenCv:

sudo pip3 install opencv_python

安装Zbar:

sudo apt-get install python-zbar

 三、代码示例:

# coding:utf-8
from PIL import Image
import zbar
import cv2

# 解析二维码
def decode_QR(img):
    # 获得扫描器对象
    scanner = zbar.ImageScanner()
    pil = Image.fromarray(img).convert('L')
    width, height = pil.size
    raw = pil.tobytes()
    # 转为GRAY灰度图像
    image = zbar.Image(width, height, 'Y800', raw)
    # 解析图像,对图像进行处理
    scanner.scan(image)
    data = ''
    for symbol in image:
        data += symbol.data
    del (image)

    if data != '':
        cv2.putText(img, data, (50, 50), cv2.FONT_HERSHEY_SIMPLEX,
                    .6, (0, 255, 0), 2)
        cv2.imwrite('erweima.jpg', img)

    print data


# 调用摄像头识别二维码
def detect():

    # 调用内置摄像头
    camera = cv2.VideoCapture(0)

    # 实时显示图像
    while True:
        # 读取当前帧
        ret, frame = camera.read()  # ret:boolean值,表示是否正常打开摄像头  frame:获取当前帧图像

        # 调用解析函数
        decode_QR(frame)

        # 按Q键退出程序
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

        # 显示图像
        cv2.imshow("camera", frame)

    # 释放摄像头资源
    camera.release()
    # 关闭显示图像的窗口
    cv2.destroyAllWindows()


if __name__ == '__main__':
    detect()

效果截图:

Python2.7-OpenCv-Zbar识别二维码_第1张图片

你可能感兴趣的:(python,OpenCv,Ubuntu,人工智能)