机器之心编译

参与:杜伟、小舟

随处可见的二维码是怎么生成的?自己做一个试试吧。

随着互联网和智能移动设备不断普及,二维码(Quick Response code)已经成为世界上应用最为广泛的信息载体之一。生成二维码的工具也层出不穷,但多数需要在线完成,并且生成的图案也千篇一律,过于单调。

那么有没有办法实现自定义生成二维码呢?

近日,一位热衷于终身学习的工程师兼摄影师 Arindom Bhattacharjee 撰写了一篇自定义生成二维码的方法,并且整个生成过程只需要 5 行 Python 代码即可完成。感兴趣的读者可以自己实现下。

5 行 Python 代码自定义生成二维码

二维码(QR Code)由白色背景上的黑色网格方块组成。由于它能存储更多信息,并且具有快速可读性,因此比条形码更受欢迎。

Python 提供了一个可以轻松实现这样的功能的 qrcode 包,首先就从下载 Python 包开始:

pip install pillowpip install qrcode

然后创建一个存储之前文章页面链接()的二维码地址生成二维码,来看下实现过程有多简单:

<pre class="code-snippet__js" data-lang="python“>import qrcode
# Link for websiteinput_data = "https://towardsdatascience.com/face-detection-in-10-lines-for-beginners-1787aa1d9127"
#Creating an instance of qrcodeqr = qrcode.QRCode( version=1, box_size=10, border=5)
qr.add_data(input_data)qr.make(fit=True)
img = qr.make_image(fill='black', back_color='white')img.save('qrcode001.png')

这样,只需要简单的几步,就创建了可以链接到之前文章的二维码,如下所示:

微信二维码生成_地址生成二维码_eddycity二维码生成

通过微信扫一扫,就可以链接到之前的文章:

地址生成二维码_微信二维码生成_eddycity二维码生成

使用到的具体参数

在具体的实现过程中,以上代码中的 QRCode 函数需要以下参数:

add_data 方法用来传入输入文本,在本示例中即为之前文章的超链接。make(fit=True) 函数确保整个二维码都被用到地址生成二维码,即使输入数据能用更少的像素块存储也是如此。

最后一步是将其转换为图像文件并存储。make_image 函数可以用来指定图像中的前景色和背景色。在此二维码中分别用了黑色和白色,但也可以根据个人喜好改变颜色。save 函数将图像存储为当前目录下的. png 文件。

生成二维码的 Python 库:qrcode

本文作者 5 行代码生成二维码的过程中基于了 qrcode 库,该库于在 2016 年 11 月由 GitHub 用户 sylnsfar 推出,目前已有 7.4k 的 star 量和 1.2k 的 fork 量。

GitHub 地址:

该库在 Python 3 版本上运行,并且可以生成多种类型的二维码,如普通二维码、带图片的艺术二维码(黑白与彩色)和动态二维码(黑白与彩色)。它比较适合直接用于生成二维码图片的场景。

我们这里只看一下该库生成二维码的示例:

微信二维码生成_地址生成二维码_eddycity二维码生成

普通二维码

微信二维码生成_地址生成二维码_eddycity二维码生成

带图片的艺术二维码

地址生成二维码_微信二维码生成_eddycity二维码生成

动态二维码

想要了解具体安装方法和代码的读者可以参考 GitHub 项目主页。

原文链接:

WAIC 2020 黑客马拉松由世界人工智能大会组委会主办,张江集团、优必选科技、软银集团旗下软银机器人、Watson Build 创新中心、机器之心联合承办,受到新冠疫情的影响,比赛将于 7 月 8 日- 11 日期间以远程和小规模线下结合的方式举办,招募全球顶级开发者同台竞技。

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击网站首页每天更新
站 长 微 信: aiwo51889