使用 Python 生成二维码

17 Mar 2025 | 5 分钟阅读

理解二维码

  1. 二维码是一种机器可读的条形码,采用二维像素化形式设计。
  2. 二维码可以用来存储各种数据。
  3. QR code 中的 QR 是 Quick Response(快速响应)的缩写。
  4. 二维码于 1994 年由日本工程师原昌宏(Masahiro Hara)发明,他当时在汽车制造商 Denso Wave 工作,目的是追踪汽车零部件的移动。
  5. 随着手机光学性能的提高和广泛普及,二维码在 2010 年代后期越来越受欢迎。
  6. 目前,二维码已被广泛应用于各种场景,例如在线支付、查看酒店菜单、共享 Wi-Fi 密码、获取产品价格和其他信息等等。
  7. 二维码的普及程度已经很高,现在每部新智能手机都内置了二维码阅读器。

在接下来的教程中,我们将学习如何使用 Python 编程语言生成和读取二维码。

那么,让我们开始吧。

使用 Python 生成二维码

Python 是一种编程语言,提供了不同的模块和包,允许我们生成二维码。在本教程中,我们将使用 `qrcode` 包来生成代码。

但是,为了开始使用该包,我们需要先安装它。

安装 Python `qrcode` 包

我们可以使用 pip 安装程序,通过以下命令安装 qrcode

语法

该包将根据 Python 和 pip 的版本安装到系统中。

验证安装

为了检查该包是否已正确安装在系统中,我们可以尝试导入该包并执行程序。

安装完成后,创建一个新的 Python 文件并在其中输入以下语法。

示例

现在,保存文件并在命令提示符下使用以下命令运行该文件。

语法

如果程序在没有引发任何导入错误的情况下运行,则表示该模块已正确安装。否则,建议重新安装该包并参考其官方文档。

现在,让我们开始使用 qrcode 库。

生成简单的二维码

我们可以使用 qrcode 的 `make` 函数生成简单的二维码,并将数据作为其参数传递。

让我们来看下面的示例,它会生成一个读取“欢迎来到 Javatpoint”的二维码。

示例

输出

Generate a QR Code using Python

说明

在上面的代码片段中,我们导入了 qrcode 库,并定义了一个变量,该变量使用 qrcode 库的 make() 函数来生成二维码。然后,我们使用 save() 函数将代码保存在目录中。

我们可以使用智能手机读取上面的二维码。

注意:请勿使用智能手机读取随机二维码,因为它们可能包含恶意代码/链接。

生成高级二维码

程序员可以使用 QRCode 对象来自定义二维码,该对象包含下表中显示的参数。

序号参数描述
1版本二维码有四 (40) 种版本,决定了代码的大小。版本 1 是最小的,而版本 40 是最大的。版本 1 将生成一个 21x21 矩阵的二维码。
2error_correction此参数用于控制为二维码使用的错误纠正。它从 7% 到 30% 的错误纠正不等,如下所示
  1. ERROR_CORRECT_L:最多 7%
  2. ERROR_CORRECT_M:最多 15%
  3. ERROR_CORRECT_Q:最多 25%
  4. ERROR_CORRECT_H:最多 30%
3box_size此参数用于调节二维码单个块中的像素数。
4border此参数用于控制边框的粗细。默认边框为 4 像素宽。

我们可以使用 QRCode 对象的以下函数来创建二维码。

序号函数描述
1add_data()我们可以将二维码的内容作为参数传递给此函数。
2make()如果我们不确定要使用哪个版本的二维码,我们可以通过以下方式自动设置版本:
  1. version 参数设置为 None,然后
  2. make() 函数的 fit 参数设置为 True
3make_image()此函数用于生成二维码。我们还可以使用 fill_colorback_color 参数来设置二维码的填充颜色和背景颜色。

让我们来看下面的示例,以生成一个指向 Python 教程的二维码。

示例

输出

Generate a QR Code using Python

说明

在上面的代码片段中,我们导入了 qrcode 库。然后,我们创建了 qrcode 库的 QRCode 类的实例。我们使用了不同的参数来定制二维码。然后,我们使用 add_data() 函数包含二维码的信息。我们还使用了 make()make_image() 函数来生成二维码图像。最后,我们使用 save() 函数将图像文件保存在目录中。

如何读取二维码?

我们将使用 OpenCV 库来读取二维码。如果系统中未安装该包,我们可以使用以下命令通过 pip 安装程序进行安装

语法

安装完成后,我们可以进入二维码的解码部分。为了解码代码,我们将使用 OpenCVQRCodeDetector 对象的 detectAndDecode 函数。

让我们来看一下相应的代码片段。

示例

输出

Information: https://tpointtech.cn/python-tutorial  

说明

在上面的代码片段中,我们导入了 cv2 库。然后,我们使用 imread() 函数从目录读取图像,并使用 QRCodeDectector() 函数检测图像中的二维码。然后,我们使用 detectAndDecode() 函数并向用户打印值。

结果,detectAndDecode 函数返回二维码的内容、框的角落坐标以及二值化的二维码。


下一个主题最佳 Python PDF 库