使用 Python 生成二维码

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

在下面的教程中,我们将学习使用 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 将生成 21×21 矩阵二维码。 |
| 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函数返回二维码的内容,方框角的坐标,二值化二维码。


原创文章,作者:Z0EMN,如若转载,请注明出处:https://www.506064.com/n/126628.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z0EMN的头像Z0EMN
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:09

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29

发表回复

登录后才能评论