我刚刚开始熟悉库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:“模块”对象没有属性“解码”
希望知识渊博的人可以提供帮助。非常感谢。
答案 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)