如何使用 Python 生成和读取条形码

条形码在我们的日常生活中很常见。只需几个简单的步骤,您就可以使用 Python 轻松生成和扫描条形码。

当您从商店购买商品时,您所购买的物品上的平行黑条纹,具有不同宽度,被称为条形码。条形码是一种将数据以视觉、机器可读的方式表示的方法。条形码被用于存储有关产品的信息,以便进行方便的识别和追踪。各个行业都使用条形码进行库存管理。

使用Python,您可以生成条形码,扫描并读取条形码的内容。

如何生成和自定义条形码 以下步骤展示了如何使用python-barcode库生成条形码。

1、安装所需库

打开您的终端或命令提示符,运行以下pip命令来安装所需的库。确保您的机器上已安装了pip。

linuxmi@linuxmi ~/www.linuxmi.com` `% pip install python-barcode



2、导入所需模块

在您的脚本中,包含以下导入语句,以导入生成条形码所需的模块。



import barcode“from the barcode.writer import ImageWriter




编写器负责在不同格式中生成和保存条形码图像。python-barcode 库提供了不同的条形码编写器。在这里,您将使用ImageWriter 类,该类将条形码渲染为图像。

3、生成条形码的代码

python-barcode库提供了各种条形码格式,例如Code39、Code128、EAN13和ISBN-10,用于生成条形码。



def generate_barcode(data, barcode_format, options=None): # 获取与指定格式对应的条形码类 barcode_class = barcode.get_barcode_class(barcode_format) # 使用提供的数据和格式创建条形码图像 barcode_image = barcode_class(data, writer=ImageWriter()) # 将条形码图像保存到名为”linuxmi”的文件中,带有指定的选项“ barcode_image.save(“linuxmi”, options=options)




generate_barcode函数根据给定的数据和格式(barcode_format)生成条形码,并将条形码图像保存到文件linuxmi.png中。文件扩展名取决于您使用的写入器类别。

4、生成和自定义条形码

要生成条形码,调用 generate_barcode 函数并传递所需的参数。



generate_barcode(“www.linuxmi.com”, “code128”)




生成的条形码

编写器接受多个选项,使您能够自定义条形码。自定义选项包括修改条形码的大小、字体、颜色等。您可以参考python-barcode文档,以获得完整的常见编写器选项列表。

generate_barcode("www.linuxmi.com", "code128", options={"foreground":"red", ``                                                   "center_text": False,  ``                                                   "module_width":0.4,  ``                                                  "module_height":20})
![](https://img-blog.csdnimg.cn/img_convert/6b6ec36a7e54749750db1ef9f71a5f1a.png)

在自定义选项中,您可以调整前景颜色、背景颜色,甚至可以选择是否在条形码上显示文本。

如何扫描和解码条形码

以下步骤介绍了如何使用Python的pyzbar库扫描和解码条形码。

1、安装所需的库

要扫描和解码条形码,您需要安装以下库:



brew install zbar # Mac OS Xsudo apt-get install libzbar0 # Linux OSpip install pyzbar opencv-python




2、导入所需的模块

安装完库后,在脚本中添加以下导入语句以导入必要的模块。



import cv2“from pyzbar import pyzbar




3、从图像中扫描条形码

从图像文件中扫描条形码的方法如下:

使用OpenCV的imread函数加载图像。这将返回一个numpy.ndarray实例。

将输出数组传递给pyzbar.decode以进行检测和解码。您还可以传递PIL.Image的实例。



def scan_barcode_from_image(image_path): # 从提供的文件路径读取图像 image = cv2.imread(image_path) # 使用pyzbar从图像中解码条形码 barcodes = pyzbar.decode(image) # 遍历检测到的条形码并从中提取数据 for barcode in barcodes: # 使用UTF-8编码 barcode_data = barcode.data.decode(“utf-8”) barcode_type = barcode.type print(“Barcode Data:”, barcode_data) print(“Barcode Type:”, barcode_type)




该函数接受image_path参数,读取图像,解码图像中存在的任何条形码,并打印每个检测到的条形码的解码数据和类型。



scan_barcode_from_image(“linuxmi.png”)




从网络摄像头流中扫描条形码

您还可以借助Python OpenCV库从网络摄像头流中实时扫描和读取条形码。



def scan_barcode_from_webcam(): # 初始化默认网络摄像头 (index 0) 视频捕获 video_capture = cv2.VideoCapture(0) ` `while True:` `# 从网络摄像头流中获取一帧` `_, frame = video_capture.read() # 解码帧中的条形码 barcodes = pyzbar.decode(frame) ` `# 处理检测到的条形码` `for barcode in barcodes:` `# 提取条形码数据和类型并打印` `barcode_data = barcode.data.decode("utf-8")` `barcode_type = barcode.type` `print("Barcode Data:", barcode_data)` `print("Barcode Type:", barcode_type) # 检查退出条件:按下’q’退出循环 if cv2.waitKey(1) & 0xFF == ord(“q”): break ` `# 释放视频捕获并关闭OpenCV窗口` `video_capture.release()` `cv2.destroyAllWindows() scan_barcode_from_webcam()




scan_barcode_from_webcam函数连续捕获网络摄像头的帧,解码帧中存在的任何条形码,提取条形码的信息并打印出来。按键盘上的字母q键可以退出。

通过Python生成和读取条形码和二维码

使用Python,生成和读取条形码变得轻松高效。按照上述步骤,您可以生成各种适合您需求的条形码。

QR码(Quick Response codes)是一种二维码,可以通过配备摄像头和QR码阅读器应用程序的智能手机、平板电脑或其他设备进行扫描和阅读。使用Python的qrcode库,您可以高效地生成、扫描和阅读QR码。

—————————END—————————

题外话

“不是只有程序员才要学编程?!”

认真查了一下招聘网站,发现它其实早已变成一项全民的基本技能了。

连国企都纷纷要求大家学Python!
在这里插入图片描述

世界飞速发展,互联网、大数据冲击着一切,各行各业对数据分析能力的要求越来越高,这便是工资差距的原因,学习编程顺应了时代的潮流。

在这个大数据时代,从来没有哪一种语言可以像Python一样,在自动化办公、爬虫、数据分析等领域都有众多应用。

更没有哪一种语言,语法如此简洁易读,消除了普通人对于“编程”这一行为的恐惧,从小学生到老奶奶都可以学会。

《2020年职场学习趋势报告》显示,在2020年最受欢迎的技能排行榜,Python排在第一。

它的角色类似于现在Office,成了进入职场的第一项必备技能。

如果你也想增强自己的竞争力,分一笔时代的红利,我的建议是,少加点班,把时间腾出来,去学一学Python。

因为,被誉为“未来十年的职场红利”的Python,赚钱、省钱、找工作、升职加薪简直无所不能!

目前,Python人才需求增速高达**174%,人才缺口高达50万,**部分领域如人工智能、大数据开发, 年薪30万都招不到人!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

如何使用 Python 生成和读取条形码

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典

简历模板
如何使用 Python 生成和读取条形码

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2023年11月9日
下一篇 2023年11月9日

相关推荐