2015-09-19 85 views
2
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目录并设置自己的环境变量。窗口,导入错误:DLL加载失败:指定的模块找不到

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

那么,我该如何解决这种DLL问题?

版本信息:

  1. 的Python 3.2

  2. numpy的-1.6.1-Win32的superpack-python3.2

  3. 的OpenCV-3.0.0

+2

你怎么安装numpy的和OpenCV?你添加了什么目录,你添加了什么?你设置了什么环境变量?请[编辑]你的问题,并添加**所有**的相关细节。我们无法理解你的想法,也不知道你实际做了什么。另外,请将追溯的**全文**添加到您的问题中。 – MattDMo

+0

可能重复[如何在Python中使用OpenCV?](http://stackoverflow.com/questions/5030362/how-to-use-opencv-in-python) –

回答

4

我怀疑你混了x64pythonx86cv2.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?

+0

我检查了两个文件,它们都是64位。你有另一个想法,为什么发生这种情况? – bobsacameno

+0

@ roi.holtzman你的os上有多个版本的* py *或* opencv *?也许你开始pyA和检查pyB等.... – zhangxaochen

+0

我只有python2.7,我没有opencv .. – bobsacameno

相关问题