pyzbar报错解决方法:WARNING: .\zbar\decoder\pdf417.c:89: <unknown>:
2022/3/22 6:29:46
本文主要是介绍pyzbar报错解决方法:WARNING: .\zbar\decoder\pdf417.c:89: <unknown>:,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用pyzbar识别手机拍摄的图片中的二维码,报错:WARNING: .\zbar\decoder\pdf417.c:89: <unknown>:
网上搜到的一个解决报错方法:
from PIL import Image from pyzbar.pyzbar import decode from pyzbar.pyzbar import ZBarSymbol im = Image.open(path) #报错是因为使用了PDF417 #关键在于遍历图片所有二维码时指定使用QRCODE for barcode in decode(im,symbols=[ZBarSymbol.QRCODE]): barcodeData = barcode.data.decode("utf-8") print(barcodeData)
使用该方法后虽然不会再出现pdf417报错,但是二维码还是识别不出来,然后歪打正着摸索出一个方法就是先用Image读取并另存为一个新的图片,再对新图片进行二维码识别
import os from PIL import Image from os import listdir def xj(path): a = os.path.exists(path) if not a : os.makedirs(path) def newpic(path,path_2): im = Image.open(path) im.save(path_2) #获取当前路径 path_pic = os.path.dirname(os.path.abspath(__file__)) #新建文件夹newpic的路径 path_new = path_pic + r'\newpic' #新建文件夹newpic xj(path_new) #遍历当前路径中所有的jpg文件并且保存到新文件夹newpic中 for file_name in listdir(path_pic): if file_name.endswith('.jpg'): path_now = path_pic + f'\{file_name}' path_then = path_new + f'\{file_name}' newpic(path_now,path_then)
对新建文件夹newpic中的图片执行第一段代码就可以成功识别出二维码了,甚至可以直接decode(im),都不需要symbols=[ZBarSymbol.QRCODE]来解决报错,虽然歪打正着得到了想要的效果但是不明所以,等一个好心人来解答一下这里面的原理。
这篇关于pyzbar报错解决方法:WARNING: .\zbar\decoder\pdf417.c:89: <unknown>:的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版