zoukankan      html  css  js  c++  java
  • Ubuntu 下使用 python3 制作读取 QR 码

    Ubuntu 下使用 python3 制作读取 QR 码

    作者已经在 Windows 上实现 python3 制作读取 QR 码。本文主要针对解决将代码移植到 Ubuntu 系统时所遇到的问题。

    相关源码

    制作 QR 码时所用到的第三库是 qrcode 。读取时所用第三方库是 zxing 和 pyzbar 。

    制作 QR 码源码:

    import qrcode
    
    # 二维码内容
    data = "test"
    # 生成二维码
    img = qrcode.make(data=data)
    # 保存二维码为文件
    img.save("test.png")
    

    利用 pyzbar 读取 QR 码源码:

    # -*- coding: utf-8 -*-
    """pyzbar 识别 QR 码"""
    
    import os
    from PIL import Image
    from pyzbar import pyzbar
    
    
    def decode_qr_code(code_img_path):
    
        if not os.path.exists(code_img_path):
            raise FileExistsError(code_img_path)
    
        return pyzbar.decode(Image.open(code_img_path))[0].data.decode()
    
    
    if __name__ == '__main__':
        img = "test.png"
        print(decode_qr_code(img))
    

    利用 zxing 读取 QR 码源码:

    # -*- coding: utf-8 -*-
    """使用 zxing 读取二维码"""
    
    import zxing
    
    reader = zxing.BarCodeReader()
    barcode = reader.decode("test.png")
    text = barcode.parsed
    
    print(text)
    

    以上源码在 Windows 上运行成功。

    移植 Ubuntu 遇到问题与解决

    移植到 Ubuntu 时,生成 QR 码的程序能够正常运行,而两种读取方法因为库的问题失败。

    使用 pyzbar 读取时报以下错误:

    ImportError: Unable to find zbar shared library

    这个问题搜索了好久终于找到了解决方案,即安装 zbar-tools :

    sudo apt-get install zbar-tools

    使用 zxing 读取时报以下错误:

    zxing No such file or directory: 'java'

    好像是 zxing 用到了 jar 相关东西,而我的 Ubuntu 上没有,最后的解决方案为安装 jpype 扩展:

    sudo apt-get install python-jpype

    参考链接:
    https://blog.csdn.net/qqk808/article/details/78810424

    https://www.cnblogs.com/blfbuaa/p/6692985.html

  • 相关阅读:
    机器视觉行业分析
    lua sample code analysis
    My GPU info from "GPU Caps Viewer"
    网页hack程序编写
    debug redmine send email
    如何下载web资源
    看国内网络电视解决方案2
    看国内网络电视解决方案
    babel-polyfill使用与性能优化
    升级NGINX支持HTTP/2服务端推送
  • 原文地址:https://www.cnblogs.com/banshaohuan/p/10966841.html
Copyright © 2011-2022 走看看