2015-09-19 87 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

相關問題