我的系统:
- Windows 8.1专业版6.3(内部版本9600(
- Anaconda版本:conda 4.9.2
- Python 3.8.5(conda-env中的Python(
- Jupyter实验室2.2.6
嘿,我希望你们今天过得愉快。当我尝试导入";pyzbar";模块进入Jupyter实验室。上面写着:
找不到模块'C:\Users\mypc\anaconda3\lib\site packages\pyzbar\libiconv.dll'(或其依赖项之一(。尝试将完整路径与构造函数一起使用语法。
我试着用pip和conda重新安装这个包,但似乎什么都不起作用。我还尝试安装";Visual Studio 2013的Visual C++可再发行包;(注意:我觉得我的问题有点类似,如何解决Python';s';Pyzbar';库上的导入错误?,我只下载并安装2013 x64版本,https://www.microsoft.com/en-us/download/details.aspx?id=40784)但它仍然不能解决我的问题。任何建议或一点点帮助都会很棒。谢谢大家。
尝试python3.6.2(没有anaconda(它正在工作,这是没有conda 的python 3.6.2的结果
~ProjectsOpencvpythonQR-Code-ProjectsQR-Code [ ] 11:46:50
➜ python .Test_pyZbar.py
-----------------------------
python Verion: 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)]
-----------------------------
Data: Some data
BBox: Rect(left=40, top=40, width=210, height=210)
~ProjectsOpencvpythonQR-Code-ProjectsQR-Code [ ] 11:48:49
不适用于conda
使用conda-env(二维码(python3.6进行终端输出。
File "C:mincondaenvsQR-codelibctypes__init__.py", line 348, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found
~ProjectsOpencvpythonQR-Code-ProjectsQR-Code [ QR-code ] 11:49:08
➜
import cv2
import sys
from pyzbar.pyzbar import decode, ZBarSymbol
print("-----------------------------")
print('python Verion: ', sys.version)
print("----------------------------")
# Image.open('barcode1.png') # if use PIL library
im = cv2.imread("Code.png") # if use cv2
# codes = decode(im, symbols=[ZBarSymbol.QRCODE]) # specify code type
codes = decode(im) # auto detect code type
# print('Decoded:', codes)
for code in codes:
data = code.data.decode('ascii')
print('Data:', code.data.decode('ascii'))
# print('Code Type:', code.type)
print('BBox:', code.rect)
x, y, w, h = code.rect.left, code.rect.top,
code.rect.width, code.rect.height
cv2.rectangle(im, (x, y), (x+w, y+h), (255, 0, 0), 8)
# print('Polygon:', code.polygon)
cv2.rectangle(im, code.polygon[0], code.polygon[1],
(0, 255, 0), 4)
txt = '(' + code.type + ') ' + data
cv2.putText(im, txt, (x - 10, y - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 50, 255), 2)
text1 = 'No. Codes: %s' % len(codes)
cv2.putText(im, text1, (5, 15),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv2.imshow('bounding box', im)
cv2.waitKey(0)
cv2.destroyAllWindows()
为我(在anaconda上(修复它的原因是:我通过conda-forge
安装了pyzbar
。我卸载了它,并使用pypi重新安装,它起了作用:
pip install pyzbar