python - Windows,导入错误: DLL load failed: The specified module could not be found

标签 python windows opencv numpy dll

import numpy as np
import cv2
from matplotlib import pyplot as plt

img = cv2.imread('12.jpg',0)
orb = cv2.ORB()
kp = orb.detect(img,None)
kp, des = orb.compute(img, kp)
img2 = cv2.drawKeypoints(img,kp,color=(0,255,0), flags=0)
plt.imshow(img2),plt.show()

我已将 numpycv2 模块添加到我的 python 目录中并设置它们的环境变量。

我还安装了msvcp71.dllmsvcr71.dll,但是这个错误还没有解决。

那么我该如何解决这种dll问题呢?

版本信息:

  1. Python 3.2

  2. numpy-1.6.1-win32-superpack-python3.2

  3. opencv-3.0.0

最佳答案

我怀疑您将 x64 pythonx86 cv2.pyd 文件混合在一起,反之亦然。简单的方法是在这里安装正确版本的 opencv:http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

请参阅此处的讨论:

  1. ImportError: DLL load failed: %1 is not a valid Win32 application. But the DLL's are there
  2. How to use OpenCV in Python?

要检查您的 python 架构:

In [2]: import platform

In [3]: platform.architecture()
Out[3]: ('64bit', 'WindowsPE')

cv2.pyd: 我建议使用PESnoop :

D:\Anaconda\Lib\site-packages> PESnoop cv2.pyd /pe_dh
-------------------------------------------------------------------------------
 PESnoop 2.0 - Advanced PE32/PE32+/COFF OBJ,LIB command line dumper by yoda
-------------------------------------------------------------------------------

Dump of file: cv2.pyd...
Modus:        64bit Portable Executable Image...

讨论:

https://serverfault.com/questions/29958/how-to-tell-if-a-windows-application-requires-64-bit

How can I determine for which platform an executable is compiled?

关于python - Windows,导入错误: DLL load failed: The specified module could not be found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32671918/

相关文章:

Python 过程返回值

python - 我怎样才能根据值(value)而不是内存使 x=y ?

python - openCV 中的轮廓匹配形状

c++ - 多线程多队列..如何管理它?

python - 查找过程中如何涉及 `__getattribute__` 方法?

python - 当导数未知并且需要一批输出来计算成本时,如何训练模型?

python - 使用以管理员身份运行创建 Windows 资源管理器快捷方式

python - 有没有办法通过windows cmd运行python脚本并在cmd中显示python操作和绘图

mysql - 如果最终依赖于操作系统,数据库如何保证持久性?

c++ - cvNamedWindow - 功能未实现,无法启动 LibHand