广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何用Python生成二维码、解析二维码
  • 832
分享到

如何用Python生成二维码、解析二维码

2024-04-02 19:04:59 832人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录楔子生成二维码qrcodeMyQR解析二维码楔子 二维码在我们的生活中可以说是必不可少的,不单单是手机支付、其它很多地方也都需要扫描二维码。那么下面我们就来看看如何使用pyth

楔子

二维码在我们的生活中可以说是必不可少的,不单单是手机支付、其它很多地方也都需要扫描二维码。那么下面我们就来看看如何使用python来生成二维码、以及识别二维码。

关于二维码,我们来说一下它的结构。当然关于二维码的结构其实不是太重要,这里只是提一下,没兴趣可以不用看。

从图中我们可以看出二维码结构整体划分为功能图形和编码区两大部分,功能图形又细分为:空白区、位置探测图形、位置探测图形分隔符、定位图形、校正图形,而编码区细分为:格式信息、版本信息、数据和纠错码字,来简单了解一下每一部分的功能:

  • 空白区:留白,不需要做任何处理
  • 位置探测图形:协助扫描软件定位二维码码
  • 位置探测图形分隔符:区分功能图形和编码区
  • 定位图形:指示标识密度和确定坐标系
  • 校正图形:校正图形的数量和位置
  • 格式信息:存放格式化数据的信息
  • 版本信息:二维码的规格,二维码符号共有 40 种规格的矩阵
  • 数据和纠错码字:实际保存的二维码信息和纠错码字(用于修正二维码损坏带来的错误)

生成二维码

生成二维码的话,Python有两个第三方模块:qrcode和MyQR可以帮我我们生成二维码,下面来看一下这两个模块的用法。

qrcode

生成比较简单的二维码就是,当我们扫描的时候,会自动跳转到某个页面。


import qrcode
 
# 调用QRCode,可以接收以下参数
"""
version: 二维码的格子大小,可以是1到40。值越大,格子越大,一般不超过10,选择3比较合适
error_correction: 二维码错误容许率,默认为qrcode.constants.ERROR_CORRECT_M,容许小于 15% 的错误率
         此外还有qrcode.constants.ERROR_CORRECT_L: 容许小于 7% 的错误率
         qrcode.constants.ROR_CORRECT_H: 容许小于 30% 的错误率
box_size: 二维码每个小格子包含的像素数量
border: 二维码到图片边框的小格子数,默认值为 4         
"""
qr = qrcode.QRCode() # 事实上里面的参数我们可以都不指定,默认会选择一个比较合适的参数
 
# 调用add_data,指定url。
qr.add_data("https://www.baidu.com/")
# 生成二维码图像,颜色为蓝色,背景色为粉色
img = qr.make_image(fill_color='blue', back_color='pink')
# 显示图像,这个会打开一个临时文件
img.show()
# 此外,我们还可以保存到硬盘上
img.save("1.png")
 
# 事实上,这个img实际上是通过PIL模块得到的,可以理解为里面Image对象
# 如果你熟悉PIL模块的话,那么你应该知道可以将里面Image对象保存成图片对应的字节流
from io import BytesIO
buf = BytesIO()
img.save(buf) # 将字节保存到buf里面
with open("2.png", "wb") as f:
  f.write(buf.getvalue()) # 和直接保存为1.png是一样的

此时我们就生成了一个二维码,当扫描该二维码的时候就会跳转到百度。

另外我们在add_data中指定的是一个url,我们也可以不指定url,而是指定一段文字。这样的话,当扫描的时候就会显示我们输入的文字。

MyQR

MyQR也可以用来生成二维码,但是它和qrcode相比最大的特点就是它可以嵌入图片当背景。


from MyQR import myqr
 
# 主要用到以下几个参数
# Words:文本,可以是一个链接,或者你想说的话(不支持中文,很不友好)
# picture:你用到的图片,作为背景,不然只是一个光秃秃的二维码
# colorsize:True,表示生成彩图
# save_name:表示生成的二维码的名字
myqr.run(words="Http://www.bilibili.com",
     picture="satori.jpg",
     colorized=True,
     save_name="bilibili.png")

当扫这个二维码的时候,就会跳转到bilibili。指的一提的是,这里图片,还可以使用gif格式的动图,当然生成的图片也要是gif格式的。

解析二维码

我们除了可以使用python生成二维码,还可以解析二维码,解析二维码也有两个模块,一个是zxing、一个是pyzbar。

首先是zxing,不过这个模块有点让人尴尬,因为这个模块调用的是java的接口。也就是说解析二维码的底层工作是java做的,python是负责调用,所以使用这个模块的时候需要你本地有java环境。所以我使用我阿里云上的Centos进行测试


>>> import zxing
>>> reader = zxing.BarCodeReader()
>>> barcode = reader.decode('bilibili.png')
>>> barcode.parsed
'http://www.bilibili.com' # 是可以解析出来的
>>>

然后看看pyzbar模块,这个模块就不需要java了,直接使用python即可。


import numpy as np
from PIL import Image
from pyzbar import pyzbar
 
# 读取文件,转成数组
im = np.array(Image.open("bilibili.png"))
print(pyzbar.decode(im))
# 返回的信息还是很多的
"""
[
   Decoded(data=b'http://www.bilibili.com',
       type='QRCODE',
       rect=Rect(left=35, top=35, width=263, height=264),
       polyGon=[Point(x=35, y=35), Point(x=35, y=297), Point(x=297, y=299), Point(x=298, y=35)])
]
"""
 
# 拿到内容
print(pyzbar.decode(im)[0].data.decode("utf-8")) # http://www.bilibili.com

两个模块都是可以正常解析的,以上就是python关于二维码的一些操作。

以上就是如何用Python生成二维码、解析二维码的详细内容,更多关于Python生成二维码、解析二维码的资料请关注编程网其它相关文章!

--结束END--

本文标题: 如何用Python生成二维码、解析二维码

本文链接: https://www.lsjlt.com/news/121477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何用Python生成二维码、解析二维码
    目录楔子生成二维码qrcodeMyQR解析二维码楔子 二维码在我们的生活中可以说是必不可少的,不单单是手机支付、其它很多地方也都需要扫描二维码。那么下面我们就来看看如何使用pyth...
    99+
    2022-11-11
  • python生成和解析二维码
    python生成二维码,常用的模块有pyqrencode和qrcode。 一、用pyqrencode模块生成二维码 安装pyqrencode模块很复杂,依赖的东西也比较多,经过测试总结以下安装过程: 1、下载Cyth...
    99+
    2023-01-31
    二维码 python
  • Android中二维码的生成方法(普通二维码、中心Logo 二维码、及扫描解析二维码)
    首先声明我们通篇用的都是Google开源框架Zxing,要实现的功能有三个 ,生成普通二维码、生成带有中心图片Logo 的二维码,扫描解析二维码,直接上效果图吧 首先我们需要...
    99+
    2022-06-06
    方法 二维 二维码 Android
  • 二维码如何生成
    小编给大家分享一下二维码如何生成,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设...
    99+
    2023-06-17
  • Python 中如何生成二维码?
    Python 中如何生成二维码? 二维码(QR Code)是一种可以被扫描的矩阵条形码,它可以被用于快速识别产品信息、网址链接、电子邮件地址、电话号码等等。在 Python 中,我们可以使用第三方库 qrcode 来生成二维码。本文将介绍如...
    99+
    2023-10-07
    对象 二维码 unix
  • 如何使用 Python 生成二维码?
    随着移动设备的普及,二维码已经成为了一种非常方便的信息传递方式。在本文中,我们将介绍如何使用 Python 生成二维码。 Python 是一种非常流行的编程语言,它有着强大的功能和广泛的应用场景。使用 Python 生成二维码非常简单,只...
    99+
    2023-08-27
    二维码 bash npm
  • 使用Python怎么生成并解析二维码
    这期内容当中小编将会给大家带来有关使用Python怎么生成并解析二维码,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。生成二维码生成二维码的话,python有两个第三方模块:qrcode和MyQR可以帮我我...
    99+
    2023-06-15
  • Python-生成个性二维码
    一、问题描述 通过调用MyQR模块来实现生成个人所需二维码。 安装: pip install myqr 二、代码实现 1.普通二维码 from MyQR import myqr # 普通二维码 myqr.run( words=...
    99+
    2023-01-31
    个性 二维码 Python
  • 如何使用Java生成和解析二维码?
    二维码是一种能够编码大量信息的矩阵条形码,它可以被扫描并解析成文本、URL、联系方式等信息。Java作为一门广泛应用于软件开发的编程语言,也提供了生成和解析二维码的功能。本篇文章将介绍如何使用Java生成和解析二维码。 生成二维码 1. 添...
    99+
    2023-08-15
    文件 数据类型 二维码
  • laravel8x 生成二维码
    作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 第一步:在项目的根目录下:第二步:在 config/app.php 注册服务提供者:第...
    99+
    2023-08-31
    php 开发语言
  • thinkphp5何生成二维码
    小编给大家分享一下thinkphp5何生成二维码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   ...
    99+
    2022-10-19
  • PHP如何生成二维码?
    PHP是一种流行的服务器端编程语言,广泛应用于Web开发领域。二维码是一种快速获取信息的技术,它已经被广泛应用于各种领域。在本文中,我们将介绍如何使用PHP来生成二维码。 生成二维码的基本原理是将需要存储的信息编码成二维码图案,然后通过扫描...
    99+
    2023-09-26
    二维码 path git
  • Python 中怎么生成二维码
    这篇文章给大家介绍Python 中怎么生成二维码,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1 二维码二维码(2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的...
    99+
    2023-06-02
  • PHP laravel 生成二维码
      php laravel框架生成二维码_51CTO博客_php laravel框架  参考 一、配置 1.在项目根目录输入命令 composer require simplesoftwareio/simple-qrcode 1.3.* ...
    99+
    2023-09-02
    php laravel 开发语言
  • Android studio 实现生成二维码和扫描二维码
    效果图 build.gradle(:app)添加依赖 dependencies { implementation 'com.google.zxing:core:3.3.3' imple...
    99+
    2023-09-30
    android studio android ide
  • python生成二维码的实例详解
    python生成二维码的实例详解 版本相关 操作系统:Mac OS X EI Caption Python版本:2.7 IDE:Sublime Text 3 依赖库 Python生成二维码需要的...
    99+
    2022-06-05
    详解 实例 二维码
  • Python生成二维码的教程详解
    目录交代背景pyqrcode 实现二维码qrcode 实现二维码MyQR 实现二维码Amazing-QR 实现二维码交代背景 作为一名合格的 Python 程序员,在工作中必然会用到...
    99+
    2022-11-11
  • 如何在Python IDE中生成二维码?
    Python作为一种广泛使用的编程语言,提供了许多强大的工具和库来简化编程任务。其中,生成二维码是一个常见的需求,本文将介绍如何在Python IDE中生成二维码。 安装qrcode库 在Python中,有一个名为qrcode的库可以用...
    99+
    2023-10-30
    ide 数据类型 二维码
  • Python如何生成响应式二维码?
    随着二维码技术的不断发展,越来越多的应用场景需要使用到响应式二维码。响应式二维码是指根据不同的设备和场景,可以自适应地调整二维码的大小和形状,以便更好地展示和传递信息。在这篇文章中,我们将介绍如何使用Python生成响应式二维码,同时还会穿...
    99+
    2023-08-13
    二维码 响应 打包
  • Python如何生成和读取二维码
    这篇文章主要介绍“Python如何生成和读取二维码”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何生成和读取二维码”文章能帮助大家解决问题。二维码是用某种特定的几何图形按一定规律在平面...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作