使用pyzbar识别手机拍摄的图片中的二维码,报错:WARNING: .\zbar\decoder\pdf417.c:89: <unknown>:

网上搜到的一个解决报错方法:

from PIL import Image
from pyzbar.pyzbar import decode
from pyzbar.pyzbar import ZBarSymbolim = Image.open(path) #报错是因为使用了PDF417
#关键在于遍历图片所有二维码时指定使用QRCODEfor 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 listdirdef 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>:相关推荐

  1. VS使用scanf函数报错解决方法

    VS使用scanf函数报错解决方法 首先来看一段很简单的C语言代码 #include<stdio.h> int main(void) {char s[10];scanf("%s& ...

  2. gstreamer推流rtmp,报错解决(WARNING: erroneous pipeline: no element “rtmpsink“)

    gstreamer推流rtmp,报错解决(WARNING: erroneous pipeline: no element "rtmpsink") 今天试着在本地推流视频流到服务器的 ...

  3. pelican报错解决方法

    python3.6.4下安装pelican,pelican content的时候报错解决方法: 错误信息:CRITICAL: AttributeError: 'str' object has no a ...

  4. Frambuffer_rd在Windows下的vivado 2020.1编译报错解决方法

    vivado2020.1 HLS生成的IP在Windows下报错 Frambuffer_rd在Windows下的vivado 2020.1编译报错解决方法 我的解决方法: 编译过程如下 之后重新对工程 ...

  5. ThinkPad安装deepin操作系统报错解决方法

    ThinkPad安装deepin操作系统报错解决方法 参考文章: (1)ThinkPad安装deepin操作系统报错解决方法 (2)https://www.cnblogs.com/haihua85/p ...

  6. hive导出数据到本地文件报错解决方法

    hive导出数据到本地文件报错解决方法 参考文章: (1)hive导出数据到本地文件报错解决方法 (2)https://www.cnblogs.com/yaopeiyun/p/12232251.htm ...

  7. Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法

    Failed to resolve: com.android.support:appcompat-v7:27.+ 报错解决方法 参考文章: (1)Failed to resolve: com.andr ...

  8. AndroidStudio EventBus报错解决方法its super classes have no public methods with the @Subscribe

    AndroidStudio EventBus报错解决方法its super classes have no public methods with the @Subscribe 参考文章: (1)An ...

  9. @Data注解使用后get set报错解决方法

    @Data注解使用后get set报错解决方法 参考文章: (1)@Data注解使用后get set报错解决方法 (2)https://www.cnblogs.com/lijinshan950823/ ...

最新文章

  1. linux驱动:音频驱动(二)ASoc
  2. 【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)...
  3. R语言cut函数实现数据分箱及因子化实战
  4. NSString 练习
  5. vue-cli2、vue-cli3脚手架详细讲解
  6. 编写下载服务器。 第二部分:标头:Last-Modified,ETag和If-None-Match
  7. SharePoint 2007 SP2 发布
  8. Freemarker的基本语法及入门基础
  9. 20191104_1_相关性分析
  10. Java线程池在业务中的实践
  11. FPS游戏通用自瞄实现
  12. TMC5160步进电机驱动芯片,简析
  13. pthread_getspecific和pthread_setspecific使用:同一线程内的各个函数间共享数据
  14. 笔记本计算机运行程序,这几招让你的笔记本电脑运行速度变快 必学技巧
  15. selenium 与浏览器 以及浏览器驱动版本问题
  16. 高中英语试验修订本(第一册)上(人教版)
  17. pointwise linux ubuntu 安装 纪录
  18. 网站外链优化方案怎么制定
  19. available: expected single matching bean but found 2
  20. 计算机科学与技术专接本试题,计算机科学与技术专业专接本入学考试试题.doc...

热门文章

  1. MODBUS主站调试工具和MODBUS从站调试工具 支持RTU、TCP、UDP三种模式
  2. VS Code CentOS7.7 终端字体设置
  3. C语言程序设计基础OJ练习题(实验十结构体与共用体)
  4. JDK1.8的新特性
  5. 数据库第一范式(图解)
  6. 强烈推荐 GitHub 上值得前端学习的开源实战项目
  7. 计算机科学与技术专业毕业设计源码会查重吗
  8. Python数据结构之树形结构——数组存储
  9. Servlet实现用户注册
  10. circos软件的安装详解