精华内容
下载资源
问答
  • python通过qrcode库生成二维码详解的代码
    2022-01-08 21:32:06

    把写代码过程中较好的代码段做个珍藏,下边代码是关于python通过qrcode库生成二维码详解的代码,应该是对各朋友有些帮助。

    import qrcode
    img = qrcode.make(‘hello, qrcode’)
    img.save(‘test.png’)

    高级用法

    import qrcode
    qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
    )
    qr.add_data(‘hello, qrcode’)
    qr.make(fit=True)
    img = qr.make_image()
    img.save(‘123.png’)

    参数含义:
    version:值为1~40的整数,控制二维码的大小(最小值是1,是个12×12的矩阵)。如果想让程序自动确定,将值设置为None并使用fit参数即可。

    error_correction:控制二维码的错误纠正功能。可取值下列4个常量。
      ERROR_CORRECT_L:大约7%或更少的错误能被纠正。
      ERROR_CORRECT_M(默认):大约15%或更少的错误能被纠正。
      ROR_CORRECT_H:大约30%或更少的错误能被纠正。

    box_size:控制二维码中每个小格子包含的像素数。

    border:控制边框(二维码与图片边界的距离)包含的格子数(默认为4,是相关标准规定的最小值)

    更多相关内容
  • 安装qrcode库 pip install qrcode 声明 import qrcode 使用qrcode QRCode 方法 qrcode.QRCode( version=1, error_correction=qrcode.ERROR_CORRECT_L, box_size=10, border=4, image_factory=None, mask_...
  • 完成自动生成二维码功能,可以跳转至想要跳转的地址 准备 1、python环境 2、涉及到的python库需要 pip install 包名 安装 pip install qrcode pip install pillow 代码实现 # -*- coding: utf-8 -*- # @Time : 2021...

    目标:

    完成自动生成二维码功能,可以跳转至想要跳转的地址

    在这里插入图片描述
    准备

    1、python环境

    2、涉及到的python库需要 pip install 包名 安装

    pip install qrcode
    pip install pillow

    代码实现

    # -*- coding: utf-8 -*-
    # @Time    : 2021/4/19 10:50 AM
    # @Author  : 余少琪
    # @email   : 1603453211@qq.com
    
    import qrcode
    from PIL import Image
    import os
    import sys
    
    
    def gen_qrcode(string, path, logo):
        """
        生成中间带logo的二维码
        需要安装qrcode, PIL库
        @参数 string: 二维码字符串
        @参数 path: 生成的二维码保存路径
        @参数 logo: logo文件路径
        @return: None
        """
        qr = qrcode.QRCode(
            # 25*25     二维码的版本号,每一个版本号对应一个尺寸,这里尺寸不是图片的大小而的是二维码长宽被分成的份数
            version=2,
            # 纠错容量,指二维码不完整时可以正常识别出原信息的概率(ERROR_CORRECT_H的纠错率最高)
            error_correction=qrcode.constants.ERROR_CORRECT_H,
            # 生成图片的像素
            box_size=8,
            # 二维码边框宽度
            border=1,
        )
        # string为想要打开的链接
        qr.add_data(string)
        # 用make()方法生成图片
        qr.make(fit=True)
        # 得到二维码对象,并可以通过修改fill_color、back_color参数来调整小格子颜色和背景色
        img = qr.make_image(fill_color='black', back_color='white')
        # 将图片转换为RGBA格式
        img = img.convert("RGBA")
        if logo and os.path.exists(logo):
            try:
                icon = Image.open(logo)
                # img_w、img_h是二维码的尺寸
                img_w, img_h = img.size
            except Exception as e:
                print(e)
                sys.exit(1)
            factor = 4
            size_w = int(img_w / factor)
            size_h = int(img_h / factor)
    
            # icon_W、icon_h是logo原始的尺寸
            icon_w, icon_h = icon.size
            # size_W、size_h是二维码尺寸的1/factor
            if icon_w > size_w:
                icon_w = size_w
            if icon_h > size_h:
                icon_h = size_h
            # antialias是平滑处理
            icon = icon.resize((icon_w, icon_h), Image.ANTIALIAS)
            # 保证二维码大小不超过二维码大小的1/factor
    
            # 计算logo在二维码中的相对位置
            w = int((img_w - icon_w) / 2)
            h = int((img_h - icon_h) / 2)
            icon = icon.convert("RGBA")
            # 根据相对位置w、h将logo放到二维码图片上,所以说实际是logo并不是二维码的一部分,会遮挡二维码的一部分,不能太大,否则无法识别
            img.paste(icon, (w, h), icon)
        img.save(path)
        # 调用系统命令打开图片
        # xdg - open(opens a file or URL in the user's preferred application)
        # os.system('xdg-open %s' %(path)) #这是Linux系统的命令
        # windows 下打开文件
        os.startfile(path)
    
    
    if __name__ == "__main__":
        # 二维码的链接
        info = "https://blog.csdn.net/weixin_43865008?spm=1001.2101.3001.5343"
        # 生成的图片保存文件
        pic_path = "test.png"
        # logo的文件名
        logo_path = r"C:\Users\hzxy\Desktop\project\Fgo_Web_UI_Test\common\1_weixin_43865008.jpg"
        # 调用函数
        gen_qrcode(info, pic_path, logo_path)
    
    
    展开全文
  • python 实现二维码识别 from PIL import Image import qrcode # 创建一个二维码二维码保存的信息为qr_data def createQR(qr_data): qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_...

    python 实现二维码识别ScanQRcode.py

    """
    生成二维码保存及对二维码解码输出
    运行需要安装相应库
    """
    import os
    import qrcode
    from PIL import Image
    from pyzbar import pyzbar
    
    
    def createQRCode1(content, save_path=None):
        """
        创建二维码图片,并保存
        :param content:二维码文本信息
        :param save_path:二维码保存地址
        :return:
        """
    
        qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_M, box_size=8, border=4)
        qr.add_data(data=content)
        qr.make(fit=True)
        img = qr.make_image(fill_color="black", back_color="white")
        if save_path:
            img.save(save_path)
        else:
            img.show()
    
    
    def createQRCode2(content, icon_path, save_path=None):
        """
        创建带中心图片的二维码,并保存
        :param content: 二维码文本信息
        :param icon_path: 中心图片地址
        :param save_path: 二维码保存地址
        :return: 无返回值
        """
    
        # 判断中心图片是否存在
        if not os.path.exists(icon_path):
            raise FileExistsError(icon_path)
    
        # 创建二维码图片
        qr = qrcode.QRCode(version=5, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=8, border=4)
        qr.add_data(data=content)
        qr.make(fit=True)
        img = qr.make_image(fill_color="black", back_color="white").convert('RGBA')
    
        # 调整二维码图片
        icon_img = Image.open(icon_path)
        code_width, code_height = img.size
        icon_img = icon_img.resize(
            (code_width // 4, code_height // 4), Image.ANTIALIAS)
    
        img.paste(icon_img, (code_width * 3 // 8, code_width * 3 // 8))
    
        if save_path:
            img.save(save_path)  # 保存二维码图片
            img.show()  # 显示二维码图片
        else:
            print("save error!")
    
    
    def decode_qr_code(code_img_path):
        """
        识别二维码,对二维码进行编译,返回值
        :param code_img_path: 二维码的保存地址
        :return: 二维码的编译结果
        """
        if not os.path.exists(code_img_path):
            raise FileExistsError(code_img_path)
    
        return pyzbar.decode(Image.open(code_img_path), symbols=[pyzbar.ZBarSymbol.QRCODE])
    
    
    if __name__ == "__main__":
        print("============QRcodetest===============")
        print("         1、Make a QRcode            ")
        print("         2、Scan a QRcode            ")
        print("=====================================")
        print("1、请输入二维码存储信息:")
        code_Data = input('>>:').strip()
        print("正在编码·······")
    
        # createQRCode2(code_Data, "img/QRcenter.jpg", "qrcode.png")  # 内容,center图片,生成二维码图片
        createQRCode1(code_Data, "qrcode.png")
        print("图片已保存,名称为:qrcode.png")
        results = decode_qr_code("qrcode.png")
        print("2、正在解码:")
        if len(results):
            print("解码结果是:")
            print(results[0].data.decode("utf-8"))
        else:
            print("无法识别")
    

    通过摄像头进行二维码识别ScanQRbyVedio

    '''
    ================================
    test4:识别摄像头中的条形码或二维码
    (ps.仅识别二维码码成功)
    ================================
    '''
    import cv2
    import pyzbar.pyzbar as pyzbar
    
    
    def decodeDisplay(image):
        barcodes = pyzbar.decode(image)
        for barcode in barcodes:
            # 提取二维码的边界框的位置
            # 画出图像中条形码的边界框
            (x, y, w, h) = barcode.rect
            cv2.rectangle(image, (x, y), (x + w, y + h), (225, 225, 225), 2)
    
            # 提取二维码数据为字节对象,所以如果我们想在输出图像上
            # 画出来,就需要先将它转换成字符串
            barcodeData = barcode.data.decode("utf-8")
            barcodeType = barcode.type
    
            # 绘出图像上条形码的数据和条形码类型
            text = "{} ({})".format(barcodeData, barcodeType)
            cv2.putText(image, text, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX,
                        .5, (225, 225, 225), 2)
    
            # 向终端打印条形码数据和条形码类型
            print("[INFO] Found {} barcode: {}".format(barcodeType, barcodeData))
        return image
    
    
    def detect():
        camera = cv2.VideoCapture(0)
    
        while True:
            # 读取当前帧
            ret, frame = camera.read()
            # 转为灰度图像
            gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
            im = decodeDisplay(gray)
    
            cv2.waitKey(5)
            cv2.imshow("camera", im)
    
            # 如果按键q则跳出本次循环
            if cv2.waitKey(10) & 0xFF == ord('q'):
                break
        camera.release()
        cv2.destroyAllWindows()
    
    
    if __name__ == '__main__':
        detect()
    
    
    展开全文
  • Python qrcode终端输出二维码

    千次阅读 2020-05-06 16:38:00
    在客户现场,有时候因为安全规定,服务器上的授权码license等文件无法下载,只能手打+check,带来的问题就是效率低、准确度不高。...python qrcode库,需要pip install,不过使用pyinstaller可以打包,简单写了...

    在客户现场,有时候因为安全规定,服务器上的授权码license等文件无法下载、复制,只能手打+check,带来的问题就是效率低、准确度不高。
    目前遇上的场景,都是一些小文件,考虑在终端输出二维码来解决。

    Qrencode,命令行工具,依赖libpng、 zlib,先tag一下。
    python qrcode库,需要pip install,不过使用pyinstaller可以打包,简单写了一版

    qr.py

    #!/usr/local/env python
    #!coding=utf-8
    
    import sys
    import qrcode
    
    
    class Qrcode(object):
    
        def __init__(self, invert_flag, print_flag, out_file):
            self.qr = qrcode.QRCode(version=None,
                                    error_correction=qrcode.constants.ERROR_CORRECT_L,
                                    box_size=1,
                                    border=2,)
    
            self.invert_flag = invert_flag
            self.print_flag = print_flag
            self.out_file = out_file
            self.count = 1
    
        def add_data(self, data):
            if len(data) > 0:
                self.qr.add_data(data)
    
        def print_png(self):
            if self.print_flag:
                self.qr.print_ascii(invert=self.invert_flag)
                self.qr.clear()
                
        def gen_qrcode(self):
            self.print_png()
    
    

    flag.py

    #!/usr/bin/python
    #!coding=utf-8
    
    
    import sys
    import argparse
    
    
    def get_flags(args):
        """
        Returns:
        args.input: string     return the path of your input file
        """
        parser = argparse.ArgumentParser(
            formatter_class=argparse.RawTextHelpFormatter)
    
        parser.add_argument("-p", "--p", dest="print_flag",
                            action="store_true", help="print qrcode image file")
        parser.add_argument("-o", "--o", dest="out_file", help="out file")
        parser.add_argument("-t", "--t", dest="input_text", help="Your input text")
        parser.add_argument("-f", "--f", dest="file", help="Your input file")
        parser.add_argument("-i", "--i", dest="invert_flag", action="store_false",
                            help="invert the ASCII characters (solid <-> transparent)")
        parser.add_argument("-d", "--d", dest="divide", type=int,
                            help="divides file into several png")
    
        args = parser.parse_args()
        return args
    

    main.py

    #!/usr/local/env python
    #!coding=utf-8
    
    import sys
    import fileinput
    
    # import qrcode
    from util.flag import *
    from util.qr import *
    
    if __name__ == "__main__":
        args = sys.argv[1:]
        params = get_flags(args)
        qr = Qrcode(invert_flag=params.invert_flag,
                    print_flag=params.print_flag, out_file=params.out_file)
    
        if params.input_text:
            qr.add_data(params.input_text)
            qr.gen_qrcode()
    
        elif params.file:
            count = 0
            # with open(params.file, 'r') as f:
            for line in fileinput.input(params.file):
                qr.add_data(line)
                count += 1
                if params.divide and count % params.divide == 0:
                    qr.gen_qrcode()
            if not params.divide or count % params.divide != 0:
                qr.gen_qrcode()
    

    测试了一下,ok,能输出
    在这里插入图片描述

    展开全文
  • 主要介绍了Python使用QRCode模块生成二维码实例详解的相关资料,需要的朋友可以参考下
  • python qrcode生成二维码

    2020-05-05 14:22:59
    pip install qrcode 二、实现 1、生成本地图片 1、基本用法 import qrcode img = qrcode.make('hello, qrcode') img.save('test.png') 2、高级用法 import qrcode qr = qrcode.QRCode( version=1, error_...
  • 参考链接: 使用QRtools在Python中读取和生成QR代码 QR码是一种矩阵码,或二维空间的条码,1994年由日本Denso-Wave公司发明。QR是英文Quick Response的缩写,即快速反应的意思,源自发明者希望QR码可让其内容快速被...
  • java web项目使用qrcode创建二维码方法示例,生成二维码图片目录在webroot目录下的qrcode文件夹下,生成前会自动判断目录是否存在并生成图片二维码
  • git 地址:https://github.com/lincolnloop/python-qrcode def demo(): img = qrcode.make("你今年要发财啊!!!") # 改变颜色 img = img.convert("RGBA") datas = img.getdata() newData = [] for item in ...
  • python使用qrcode生成可编辑内容的二维码一、qr码-二维码二、在python中使用1.安装库2.引入库3.参数设置 一、qr码-二维码 QR code 是一种矩阵式二维条码(又称棋盘式二维条码)。它是在一个矩形空间通过黑、白像素在...
  • 主要介绍了Python基于QRCode实现生成二维码的方法,结合实例形式较为详细的分析了Python下载,安装与调用QRCode实现生成二维码功能的具体步骤与相关操作技巧,需要的朋友可以参考下
  • artistic QR Code server in Python(Transparent qr code)- Python 艺术二维码生成器服务 (图片二维码,透明二维码
  • 参考: https://www.jianshu.com/p/c0073c6aa544 https://zhuanlan.zhihu.com/p/266195271
  • qrcode 数据容量表,附字典格式代码表示。
  • Pythonqrcode包来生成二维码很简单 一、前期准备: pip install qrcode qrcode 依赖 Image 这个包: pip install Image 二、安装好之后就可以通过代码实现二维码了 - 1. 简单生成二维码: import ...
  • Python生成二维码——qrcode

    千次阅读 2020-08-26 16:12:12
    QRCode二维码,具有快速可读性和较大的存储容量。 安装、初试、直接显示、进阶、添加logo、封装
  • 您可以通过Python在终端绘制QR码: 安装依赖项 您需要安装以下这些: yum install -y python-devel zlib-devel libjpeg-turbo-devel pip install pillow qrcode 安装 可以通过pip安装: pip install qrcode-...
  • python 生成qrcode二维码

    万次阅读 2016-04-24 10:13:12
    QRCode具有存储的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。 具有可四个级别的纠错能力: L级:约可纠错7%的数据码字 M级:约可纠错15%的数据码字 Q级:约可纠错25%的数据码字 H级...
  • from PIL import Imageimport qrcode#最小尺寸 1 会生成 21 * 21 的二维码,version 每增加 1,生成的二维码就会添加 4 尺寸#参数 error_correction 指定二维码的容错系数,分别有以下4个系数:#ERROR_CORRECT_L: 7%...
  • 2、在python中输入 import qrcode img = qrcode.make('Some data here') 高级用法: 使用QRCode类 import qrcode qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, b
  • 本代码为Python代码
  • python通过qrcode生成二维码

    千次阅读 2020-01-20 17:08:41
    安装qrcode https://pypi.org/project/qrcode/ pip install qrcode 简单用法 import qrcode img = qrcode.make('https://blog.csdn.net/ternence_hsu') img.save('output.jpg') 效果: 复杂用法 import qrcode qr...
  • Python qrcode制作二维码

    2020-04-22 14:43:26
    Python制作二维码 Python传言是万能语言,那么,今天就用Python做个二维码 准备 先下载qrcode pip install qrcode 下不了的可以参照我写的pip错误解决方法 里面就是介绍了pypi 打开这个链接pypi python qrcode ...
  • import qrcode # 这里使用的python的库 qrcode 当然qrcode 是依赖pillow库的, 所以第一步当然是安装相关的模块 pip install qrcode def make_code(): """ ERROR_CORRECT_L:大约7%或更少的错误能被纠正。 ...
  • 利用qrcode可以非常方便生成二维码,网上介绍也很多了,但是如何计算二维码像素大小? qr = qrcode.QRCode( version=10, error_correction=qrcode.constants.ERROR_CORRECT_Q, box_size=8, border=4 ) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,277
精华内容 1,710
关键字:

python中qrcode制作二维码