优草派  >   Python

怎么用Python检测和识别条形码?Python批量识别条形码教程

罗西汉            来源:优草派

python是能够用来第三方库识别二维码获取其中数据的,那么与二维码功能相近的另外一个东西就是条形码,一般用在商品或者是快递上面。下面这篇文章所介绍的内容则是,python批量检测和识别条形码的详细教程,感兴趣和想了解学习的话就一起往下看看吧。

怎么用Python检测和识别条形码?Python批量识别条形码教程

1.批量检测和识别条形码第一步就是要获取到文件夹之中所有的图片,所以需要使用内置模块os之中的listdir()方法,该方法会返回一个文件夹下所有文件和文件目录的名称,代码如下:

import os
path = os.getcwd()
listjpgs = os.listdir(path)

这里的path变量就是保存了条形码图片的文件路径,需要自己将其换成电脑上实际保存图片的目录。

2.然后就是要去编写识别条形码的函数了,将模块pyzbar以及cv2导入,然后定义函数并设置参数传入为图片路径。在函数内先使用imread()方法将这个图片读取进来,再调用decode()对这个条形码图片进行解码操作,解码完毕之后使用切片方式即可获取条形码信息。然后对其使用utf-8编码即可转为python可读可写的字符串对象,最后将其返回出函数即可,详细代码如下所示:

import pyzbar.pyzbar as pyzbar
import cv2
def get_barcode(img):
    image = cv2.imread(img)
    barcodes = pyzbar.decode(image)
    barcode = barcodes[0]
    barcode_data = barcode.data.decode("utf-8")
     return barcode_data

3.因为上面这个函数每次只能对一个图片对象进行处理,所以需要使用for循环遍历一开始获取到的图片列表,然后调用该函数并且将循环变量作为参数传递进去,这样就能完成python批量检测和识别条形码操作了,示例如下:

data_m =[]
for i in listjpgs:
    data = get_barcode(i)
    data_m.append(data)
print(data_m)

以上就是关于“怎么用Python检测和识别条形码?Python批量识别条形码教程”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。