您的位置:

使用 Python 生成二维码

了解二维码

  1. 二维码是以二维像素化形式设计的机器可读条形码。
  2. 二维码可用于存储一系列数据。
  3. 二维码中的二维码缩写为快速反应。
  4. 二维码是 1994 年由汽车制造商电装浪潮的日本工程师原正弘发明的,目的是跟踪汽车零件的运动。
  5. 二维码的普及在 2010 年代后期随着手机光学水平的提高和被广泛接受而增加。
  6. 目前,二维码正被广泛用于各种应用,如在线支付、查看酒店菜单、共享无线密码、获取产品成本和其他信息等。
  7. 二维码变得如此出名,以至于现在每部新智能手机都配有内置的二维码阅读器。

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

那么,让我们开始吧。

使用 Python 生成二维码

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

然而,为了开始使用这个包,我们必须安装它。

安装 Python 二维码包

我们可以使用以下命令,在 pip 安装程序的帮助下安装二维码包:

语法:


$ pip install qrcode

该软件包将作为 Python 和 pip 版本安装在系统中。

验证安装

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

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

示例:


# importing the required module
import qrcode

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

语法:


$ python <file-name>.py

如果程序运行时没有出现任何导入错误,则模块安装正确。否则,建议重新安装软件包,并参考其官方文档。

现在,让我们了解开始使用二维码库。

生成简单二维码

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

让我们考虑下面的例子,它产生一个二维码,上面写着“欢迎来到 Javatpoint”。

示例:


# importing the qrcode library
import qrcode
# generating a QR code using the make() function
qr_img = qrcode.make("Welcome to Javatpoint.")
# saving the image file
qr_img.save("qr-img.jpg")

输出:

说明:

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

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

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

生成高级二维码

程序员可以使用由下表所示参数组成的二维码对象定制二维码:

| 没有。 | 参数 | 描述 | | one | 版本 | 二维码有四十(40)种版本,用于控制二维码的大小。版本 1 最小,而版本 40 最大。版本 1 将生成 21x21 矩阵二维码。 | | Two | 纠错 | 该参数用于控制二维码使用的纠错。误差修正从 7%到 30%不等,如下所示:

  1. error correction l: as high as 7%
  2. error correction m: as high as 15%
  3. error correction q: as high as 25%
  4. error correction h: as high as 30%

| | three | 箱 _ 尺寸 | 该参数用于调节二维码单个块中的像素数。 | | four | 边框 | 此参数用于控制边框的厚度。默认边框为 4 像素厚。 |

我们可以使用二维码对象的以下功能来创建二维码。

| 没有。 | 功能 | 描述 | | one | add_data() | 我们可以将二维码的内容作为参数传递给这个函数。 | | Two | make() | 如果我们不确定使用哪个版本的二维码,我们可以通过以下方式自动设置版本:

  1. Set the version parameter to none, and.
  2. Set fit parameter of make () function to true.

| | three | make_image() | 该功能用于生成二维码。我们也可以借助填充 _ 颜色和背景 _ 颜色参数来设置二维码的填充颜色和背景颜色。 |

让我们考虑下面的例子,以便生成一个指向 Python 教程的二维码。

示例:


# importing the qrcode module
import qrcode
# creating a QRCode object
obj_qr = qrcode.QRCode(
    version = 1,
    error_correction = qrcode.constants.ERROR_CORRECT_L,
    box_size = 10,
    border = 4,
)
# using the add_data() function
obj_qr.add_data("https://www.javatpoint.com/python-tutorial")
# using the make() function
obj_qr.make(fit = True)
# using the make_image() function
qr_img = obj_qr.make_image(fill_color = "cyan", back_color = "black")
# saving the QR code image
qr_img.save("qr-img1.png")

输出:

说明:

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

如何阅读二维码?

我们将利用 OpenCV 库读取二维码。如果系统中没有安装软件包,我们可以使用以下命令,以便使用 pip 安装程序安装它:

语法:


$ pip install cv2

一旦安装完成,我们就可以进入二维码的解码部分。为了解码代码,我们将使用 OpenCV 的二维码检测器对象的检测和解码功能。

让我们考虑相同的代码片段。

示例:


# importing the OpenCV library
import cv2
# reading the image
qr_img = cv2.imread("qr-img1.png")
# using the QRCodeDetector() function
qr_det = cv2.QRCodeDetector()
# using the detectAndDecode() function
val, pts, st_code = qr_det.detectAndDecode(qr_img)
# printing the value
print("Information:", val)

输出:

Information: https://www.javatpoint.com/python-tutorial  

说明:

在上面的代码片段中,我们已经导入了 cv2 库。然后,我们使用 imread() 功能从目录中读取图像,并使用qrcodedector()功能检测图像中的二维码。然后,我们使用了检测和解码()功能,并为用户打印了该值。

因此,detectanddescode函数返回二维码的内容,方框角的坐标,二值化二维码。