如何解决Python的“ Pyzbar”库上的导入错误?

时间:2019-04-05 22:16:34

标签: python python-2.7 opencv zbar

我刚刚开始熟悉库Pyzbar,但是在使用decode方法时出现错误。这是代码:

import cv2
import numpy as np
import pyzbar

code_image = cv2.imread("C:\Users\Acer\Desktop\qr.PNG")
cv2.imshow("QR", code_image)
cv2.waitKey(0) #this command is to hold the image open after opening it

from pyzbar import decode
decoded = pyzbar.decode(code_image)
print(decoded)

qr.PNG只是QR码的图片。 OpenCV可以很好地显示图像,但解码部分不起作用:

  

回溯(最近通话最近):    文件“ C:/ Users / Acer / Desktop / ML> Projects / Projects / OpenCV / QR_Code_Detection.py”,第17行,在      从pyzbar导入解码   ImportError:无法导入名称解码

排除此行时:from pyzbar import decode

我收到以下错误:

  

回溯(最近通话最近):    文件“ C:/ Users / Acer / Desktop / ML> Projects / Projects / OpenCV / QR_Code_Detection.py”,第17行,在      解码= pyzbar.decode(code_image)   AttributeError:“模块”对象没有属性“解码”

希望知识渊博的人可以提供帮助。非常感谢。

3 个答案:

答案 0 :(得分:1)

只需安装Microsoft Visual C++ 2013 32&64 bit即可为我修复

答案 1 :(得分:0)

解决了这个问题一段时间后,尝试了适用于其他人的其他方法(重新安装,修复,修补程序,Windows Update,设置路径,重命名目录,在函数中导入,使用Dependency Walker进行安装依赖性等等)原来是一个Microsoft Visual C++问题,我在一些不起眼的论坛上看到的唯一对我有用的是安装 ALL 版本的Visual C ++ (从2008年到2017年)都是x64 x86(否则它不起作用),并且就像一个魅力。

所以我只是希望把它留在这里,这样可以避免别人的麻烦。

答案 2 :(得分:0)

使用pyzbar之前,您需要先安装zbar

brew install zbar
pip install pyzbar
######################################
import cv2
import numpy as np
from pyzbar.pyzbar import decode
code_image = cv2.imread("barcode.jpg")
cv2.imshow("QR", code_image)
decoded = decode(code_image)
print(decoded)