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批量识别条形码教程”的全部内容了,希望对你有所帮助。