【问题标题】:import cv2 dll load failed导入 cv2 dll 加载失败
【发布时间】:2019-01-16 13:27:58
【问题描述】:

当我通过win7(python3)

pip install opencv-python

pip install opecncv-contrib-python

可以正确导入CV2

但是当我在window server 2008 R2 enterprise上安装opencv时,出现以下错误:

In [2]: import cv2
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-c8ec22b3e787> in <module>()
----> 1 import cv2

c:\python36\lib\site-packages\cv2\__init__.py in <module>()
      1 import importlib
      2
----> 3 from .cv2 import *
      4 from .data import *
      5

ImportError: DLL load failed: The specified module could not be found.

我尝试安装C++ Redistributable Package(所有版本)并下载WHL文件仍然无法解决错误。

C:\Users\Administrator\Desktop>ipython
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD6
4)]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import cv2
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-c8ec22b3e787> in <module>()
----> 1 import cv2
ImportError: DLL load failed: The specified module could not be found.

我的猜测肯定是系统问题,但是查了资料发现服务器2008 R2系统的原型是Win7,装了能装的,还是不能解决问题。

所以我想知道这个错误的真正原因是什么,如果我能找出并修复它。
那我应该怎么做才能寻求帮助

【问题讨论】:

  • 错误是什么?你试过什么?
  • 请使用错误消息更新您的帖子。如果您正在为 python 3 安装 opencv,那就有点不同了,而且更棘手。
  • @littlecat:都是Python 3,在Windows 7系统上安装导入就可以了。
  • @jianyi,因为错误提示您有 dll 问题,如果有帮助,请尝试此视频youtube.com/watch?v=izN-NLpS5t8
  • @littlecat 但是没有解决办法

标签: python-3.x opencv window cv2


【解决方案1】:

如果您使用的是 Windows 10 N 发行版,则可能会发生这种情况,N 发行版未预安装 Windows 媒体功能包,这是 OpenCV 3.4 版及更高版本之后所必需的。

首选的解决方案是将功能包安装在:https://www.microsoft.com/en-us/software-download/mediafeaturepack

请谨慎选择适用于您当前 Windows 版本的版本。

如果这不是一个选项,请回退到没有 dll 依赖项的早期版本的 OpenCV,您可以这样做:pip install opencv-python=3.3.0.9

自从windows推出N版以来,这个问题在很多地方都出现过,并且对windows环境有很多影响,确定你是否有这个问题的最快方法是在Edge浏览器中打开youtube,如果它显示HTML5媒体没有找到插件,就是这个问题。

除非您安装功能包,否则 conda 或任何其他在 Windows 上本地运行 python 的虚拟管理器都无法解决此问题。但是 WSLbash 和 VMWare 将在没有功能包的情况下运行 cv2。

【讨论】:

    【解决方案2】:

    尝试先安装 Anaconda,然后用 conda 安装 opencv。例如,在 Windows 中打开 Conda Prompt 并键入 conda install opencv,而不是使用 pip。这对我有用。

    【讨论】:

      【解决方案3】:

      如果你使用的是python 3.6,可能是因为依赖错误。 尝试安装旧版本的 opencv。 例如 python-3.6 可能与 opencv-4.0.1 冲突。 在 windows 7 系统中安装以前的版本(3.4.1)可以正常工作。

      卸载旧版本

      pip 卸载 opencv-python

      安装新版本

      pip install opencv-python==3.4.1.14

      如果失败,则查找匹配的对应版本。

      【讨论】:

        猜你喜欢
        • 2016-01-16
        • 1970-01-01
        • 2019-02-20
        • 2016-03-07
        • 1970-01-01
        • 2020-01-01
        • 2013-07-09
        • 1970-01-01
        • 2012-02-02
        相关资源
        最近更新 更多