如何解决 Python 的 'Pyzbar' 库的导入错误?

How to solve Import Error on Python's 'Pyzbar' library?

我刚刚开始熟悉 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只是一张二维码的图片。 OpenCV 显示图像很好,但解码部分不起作用:

Traceback (most recent call last): File "C:/Users/Acer/Desktop/ML >Projects/Projects/OpenCV/QR_Code_Detection.py", line 17, in from pyzbar import decode ImportError: cannot import name decode

排除这一行时:from pyzbar import decode

我收到以下错误:

Traceback (most recent call last): File "C:/Users/Acer/Desktop/ML >Projects/Projects/OpenCV/QR_Code_Detection.py", line 17, in decoded = pyzbar.decode(code_image) AttributeError: 'module' object has no attribute 'decode'

希望有更懂行的人帮忙。非常感谢。

在解决这个问题一段时间并尝试了对其他人有效的不同方法后 (重新安装、修复、补丁、Windows 更新、设置路径、重命名目录、导入一个函数,使用 Dependency Walker 安装依赖项等等...) 原来这是一个 Microsoft Visual C++ 问题,这是我在一些不起眼的论坛上看到的唯一对我有用的东西正在安装 所有 版本的 Visual C++ (从 2008 年到 2017 年) x64 x86(否则它不起作用)而且它非常有效。

所以我就把它留在这里,希望它能免除某些人的麻烦。

只需安装 Microsoft Visual C++ 2013 64 bit 就可以解决问题 (在 64 位 windows 和 64 位 python 上)

link: https://www.microsoft.com/en-us/download/details.aspx?id=40784

使用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)