使用几行 Python 生成个性化二维码
二维码是一种便捷的信息传输方式 – 本位我们学习如何使用 Python 生成它!
本文将作为您在 Python 中生成二维码的教程。我们将使用的库是qrcode
,我们需要先安装它。
1.安装库
要安装库,请转到命令行,然后键入pip3 install qrcode
。完成此步骤后,您有两种方式生成二维码,我将向您展示这两种方式。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ pip3 install qrcode
2.通过命令行:
第一种方法是通过命令行。cd
到您想要的文件夹,然后只需键入qr “你要写入的文字” > 图片.png
,然后您的文件夹将显示一个新形成的图像。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ qr "Linux迷(www.linuxmi.com)与您分享关于开源的新鲜事,Linux、编程、大数据、运维和数据库教程。" > www.linuxmi.com.png
现在,使用您的手机查看二维码中的内容。
如果你想要一些更高级的图片,比如 SVG,你可以将命令行作为 qr — factory="svg路径" "your_message" > 图片名字
。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ qr — factory="www.linuxmi.com.svg" "Linux迷欢迎您,我们的网址:www.linuxmi.com" > linuxmi.com.png
3.Python:
命令行不是生成二维码的唯一方法,另一种方法 Python。另外,qrcode
支持 Python 语言的更多功能,我想你会玩得更开心。
a、创建二维码:
在 Python 中创建二维码的方法非常简单。您只需导入库并放入所需的信息,然后将其保存在您的计算机上,如下所示:
import qrcode
img = qrcode.make('Linux迷欢迎您,我们的网址:www.linuxmi.com')
img.save("www.linuxmi.com.png")
除了基本的文字之外,您还可以将许多其他形式的数据放入您的二维码图像中:例如 Web URL、聊天组、数字等。发挥您的想象力!
b、设置您的二维码工厂:
当然,您可以设置生成二维码的方式:SVG、SVG片段。从人的角度来看,这实际上并不会影响前景,但你知道,如果你是个极客,这就是你可能想知道的技巧。
import qrcode
import qrcode.image.svg
factory = qrcode.image.svg.SvgImage
# factory = qrcode.image.svg.SvgFragmentImage
# factory = qrcode.image.svg.SvgPathImage
img = qrcode.make('你的数据', image_factory=factory)
import qrcode
import qrcode.image.svg
factory = qrcode.image.svg.SvgImage
img = qrcode.make('当年的大师兄 - Linux迷欢迎您,我们的网址:www.linuxmi.com', image_factory=factory)
img.save("www.linuxmi.com.svg")
上图是 svg 文件
可以生成3中不同的 SVG 图像
1、用路径表示的 SVG SvgPathImage
2、 用矩形集合表示完整的 SVG 文件 SvgImage
3、 用矩形集合表示的 SVG 片段 SvgFragmentImage
c、添加数据到二维码:
假设您现在得到一个二维码,并且您想在您尝试发送的原始消息之上添加一些信息,您可以使用qrcode
提供的add_data
方法!
import qrcode
qr = qrcode.QRCode()
qr.add_data('Linux迷(www.linuxmi.com)与您分享关于开源的新鲜事,Linux、编程、大数据、运维和数据库教程。')
qr.add_data('Linux迷欢迎您,我们的网址:www.linuxmi.com')
other_img = qr.make_image()
如果您想替换以前的信息,add_data
也可以非常方便。您需要做的就是添加另一个clear()
方法。
import qrcode
qr = qrcode.QRCode()
qr.add_data('your data1')
img = qr.make_image()
qr.clear()
qr.add_data('your data2')
other_img = qr.make_image()
4.使用OpenCV读取二维码:
如果我们不从我们生成的二维码中读取数据,那会有什么乐趣呢?当然,你可以用你的手机来检测消息,但我们是程序员,让我们用我们的方式再做一次。要从二维码读取消息,我们需要 OpenCV。要先安装它,请执行pip3 install opencv-python
。
然后,我们需要做的就是先将图像读取到我们的 Python 中,然后构建一个二维码检测器。最后,我们可以从二维码中读取数据了!
import cv2
img = cv2.imread("www.linuxmi.com.png")
detector = cv2.QRCodeDetector()
data, bbox, straight_qrcode = detector.detectAndDecode(img)
print(data)
# Hello, there
您会看到我们从上面发布的二维码图片中提取消息。你有同样的信息吗?其他两个参数对我们的案例没有多大用处,但它们确实表示了一些东西。bbox
表示我们的信息将在其中定义的形状,并且staright_qrcode
将只是一个二值化矩阵表示,如果您愿意,可以使用 0 和 255 的 2D 数组。
好吧,这就是您在 Python 中读取和生成二维码所需要知道的全部内容!它非常简单,并在您的应用程序中使用它!
The post 使用几行 Python 生成个性化二维码 first appeared on Linux迷.
共有 0 条评论