python 二维码的生成与解析

python 二维码的生成与解析学习二维码的生成与解析

大家好,欢迎来到IT知识分享网。

目录

文章目录

前言

一、二维码是什么?

二、使用步骤

1.qrcode库的使用

2.生成二维码

1.代码如下(示例):

2.生成带有图标的二维码

3.python解析二维码照片

总结

前言

学习二维码QR Code(Quick Response Code)的生成与解析。

一、二维码是什么?

二维码(二维条码)是指在一维条码的基础上扩展出的另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码的宽度记载着数据,而长度没有记载数据。二维码的长度、宽度均记载着数据。二维码有一维条码没有的“定位点“和”容错机制“。容错机制使得在即使没有辨识到全部的条码或者条码有污损时也可以正确地还原条码上的信息。二维码的种类很多,不同的机构开发出的二维码具有不同的结构以及编写、读取方法。

这里我们学习的二维码是QR Code(Quick Response Code),学名为快速响应矩阵码,它是二维条码的一种。QR二维码目前在很多地方有着广泛的应用,例如通过微信二维码加好友、将应用软件的下载地址做成二维码,等等。

二、使用步骤

1.qrcode库的使用

安装qrcode库

qrcode库是用于生成二维码图像的python第三方库。库的安装步骤如下,在cmd中输入 

pip3 Install qrcode

查看安装信息:

pip show qrcode

python 二维码的生成与解析 

2.生成二维码

导入qrcode模块后,make()函数返回一个qrcode.image.pil.PilImage对象,调用make()函数生成一个二维码图片对象,如下图所示,最后调用图片对象的save()函数就可以将生成的二维码保存下来。

1.代码如下:

import qrcode img=qrcode.make("hello,world!") img.save('hello.png') 

结果如下 

python 二维码的生成与解析

 

2.生成带有图标的二维码

事先准备一个logo图标,使用下面的程序生成带有logo图标的二维码。

logo如下:

python 二维码的生成与解析

import qrcode from PIL import Image import os, sys def gen_qrcode(string,path,logo=""): ''' 生成中间带logo的二维码 需要安装qrcode、PIL库 @参数string:二维码字符串 @参数path:生成的二维码保存路径 @参数logo:logo文件路径 @return:None ''' #初步生成二维码图像 qr=qrcode.QRCode( version=2, error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=8, border=1 ) qr.add_data(string) qr.make(fit=True) #获得Image实例并把颜色模式转换为RGBA img=qr.make_image() img=img.convert("RGBA") if logo and os.path.exists(logo): try: icon=Image.open(logo)#打开填充的logo文件 img_w,img_h=img.size #print(img_w,img_h) except Exception as e: print (e) sys.exit(1) factor=4 #计算logo的尺寸 size_w=int (img_w/factor) size_h=int (img_h/factor) #比较并重新设置logo文件的尺寸 icon_w,icon_h=icon.size if icon_w>size_w: icon_w=size_w if icon_h>size_h: icon_h=size_h icon=icon.resize((icon_w,icon_h),Image.Resampling.LANCZOS) #计算logo的位置,并复制到二维码图像中 w=int ((img_w-icon_w)/2) h=int ((img_h-icon_h)/2) icon=icon.convert("RGBA") img.paste(icon,(w,h),icon)#作用为将一张图片覆盖到另一张图片的指定位置去 #保存二维码 img.save(path) #例如qrcode.png if __name__=="__main__": info='强风吹拂' pic_path="qrcode.png"#生成的带有图标的二维码图片,如下图 logo_path="灰二.png"#用于填充的图标 gen_qrcode(info,pic_path,logo_path) 

结果:

python 二维码的生成与解析

 

3.python解析二维码照片

解析二维码图片信息需要安装pyzbar库,安装如下

pip install pyzbar

代码如下:

from PIL import Image import pyzbar.pyzbar as pyzbar def decode_qrcode(img): barcodes = pyzbar.decode(img) for barcode in barcodes: barcodeData = barcode.data.decode("utf-8") print(barcodeData) return None if __name__=="__main__": img = Image.open(img_path)#打开二维码图片路径 decode_qrcode(img) 

总结

以上就是今天要讲的内容,本文仅仅简单介绍了利用python生成与解析二维码。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/129364.html

(0)
上一篇 2025-08-24 19:33
下一篇 2025-08-24 20:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信