OpenCV-Python ImportError:DLL加载失败:找不到指定的模块

OpenCV-Python ImportError:DLL加载失败:找不到指定的模块

问题描述:

我正在使用Python 3.6.0(Anaconda3)和jupyter笔记本在windows 10上工作。在这篇文章中,我已经成功安装并导入了OpenCV-Python。 现在的问题是,如果我从安装opencv的相同命令提示符处导入opencv(ijmport cv2),它将导入时不会出现任何错误。 但是,如果我从另一个命令提示符导入opencv,那么它给了我这个错误: ImportError:DLL加载失败:指定的模块找不到。OpenCV-Python ImportError:DLL加载失败:找不到指定的模块

我不能附上任何图片来显示,因为我的声望是3.所以我在这里解释它。

命令PROMPT1:

C:\Users\Prachi\AppData\Local\Programs\Python\Python36- 
32\Anaconda3\Scripts>pip install opencv_python-3.2.0+contrib-cp36-cp36m- 
win_amd64.whl 
Processing C:\Users\Prachi\AppData\Local\Programs\Python\Python36- 
32\Anaconda3\Scripts>pip install opencv_python-3.2.0+contrib-cp36-cp36m- 
win_amd64.whl 
Installing collected packages: opencv-python 
    Found existing installation: opencv-python-3.2.0.7 
     Uninstalling opencv-python-3.2.0.7: 
      Successfully uninstalled opencv-python-3.2.0.7 
Successfully installed opencv-python-3.2.0+contrib 
C:\Users\Prachi\AppData\Local\Programs\Python\Python36- 
32\Anaconda3\Scripts>python 
Python 3.2.0 |Anaconda4.3.1(64-bit)| (default, Dec 23 2016, 11:47:51) [MSC 
v.1900 64-bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>>import cv2 
>>> 

命令PROMPT2:

C:\Users\Prachi\AppData\Local\Programs\Python\Python36- 
32\Anaconda3\Scripts>python 
Python 3.2.0 |Anaconda4.3.1(64-bit)| (default, Dec 23 2016, 11:47:51) [MSC 
v.1900 64-bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>>import cv2 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "C:\Users\Prachi\Anaconda3\lib\site-packages\cv2\__init__.py", line 7, 
in <module> 
    from . import cv2 
ImportError: DLL load failed: The specified module could not be found. 
>>> 

这就是为什么,每当我打开新的命令提示符开始编码,我必须重新安装OpenCV,然后使用它。 希望这个解释有助于理解问题。

+0

在Anaconda提示符下尝试安装opencv-python时会出现什么错误? – BoboDarph

+0

错误是:FileNotFoundError:在当前的win64通道中找不到该文件。我从这个链接http:// www下载了opencv。lfd.uci.edu/~gohlke/pythonlibs/#opencv我试过32位,64位,contrib +每种类型,但对于每个文件,上面的错误在那里。 – Prachi

+0

如果在anaconda提示符下安装opencv-python失败,你可以尝试手动安装opencv3,按照https://stackoverflow.com/questions/38787748/installing-opencv-3-1-with-anaconda-python3或https ://rivercitylabs.org/up-and-running-with-opencv3-and-python-3-anaconda-edition/。还有一点观察:从评论中我明白,不支持32位Linux系统。 – BoboDarph

您可以尝试使用conda install命令来安装OpenCV 3.2.0 for Python 3.6conda-forge存储库的32-bit64-bit窗口确实有OpenCV 3.2.0二进制文件。

conda install -c conda-forge opencv=3.2.0 

如果需要opencv_contrib模块,你可以从这个unoffice website下载二进制并通过pip install安装到Anaconda

  • pip install opencv_python‑3.2.0+contrib‑cp36‑cp36m‑win32.whl(86胜)
  • pip install opencv_python‑3.2.0+contrib‑cp36‑cp36m‑win_amd64.whl(64胜)

注意到由PIP安装的包将不会被conda list命令被显示。

然后在命令提示符下键入import cv2以验证安装是否成功如下。 enter image description here

如果您有问题import cv2,请仔细检查Windows Environment Variables设置如下。

  1. OPENCV_DIR指向您的OpenCV可执行文件,例如, C:\Program Files\OpenCV 3.2.0\x64\vc14
  2. PATH=%PATH%;%OPENCV_DIR%\bin
+0

我也是这样做的:pip install opencv_python-3.2.0 + contrib-cp36-cp36m-win_amd64.whl但是当我安装opencv时,无论是通过这种方法还是通过conda-forge的方法我上面说过,导入cv2都成功当我从相同的命令提示符打开jupyter笔记本。但是,当我从新的命令提示符打开jupyter笔记本,这是再次给我这个错误 - ImportError:DLL加载失败:指定的模块找不到。我必须首先安装opencv,然后启动jupyter笔记本吗?这非常耗时。 – Prachi

+0

你能继续在第一个启动的Jupyter上编写和运行'opencv'脚本吗?如果你可以使用第一个Jupyter作为'opencv',为什么你必须启动第二个时刻?您可以从网络或同一时刻运行多个笔记本电脑'.ipymb'。 – thewaywewere

+0

是的,当我在同一命令提示符下工作时,我能够使用cv2工作,即导入cv2工作,但是当我从其他命令提示符运行jupyter笔记本时,它会给我那个dll错误。您建议在命令提示符下验证它是否成功的方式不是。这在我安装opencv的命令提示符下工作,但是当我打开其他文件并编写导入cv2时,它给了我同样的错误。我无法理解原因。 – Prachi

我解决它无意中做这些事情:我键入的命令提示符:C:\用户\ Prachi ................. \ Anaconda3 \ Scripts >> conda install -c conda-forge opencv安装了OpenCV 3.2.0-np113py36_203 conda-forge,并在同一命令提示符下键入jupyter笔记本。通过这个导入cv2在Jupyter notebbok中写入成功。