【问题标题】:Windows: Python + OpenCV + Qt: "import cv2" gives "dll not found" errorWindows:Python + OpenCV + Qt:“import cv2”给出“dll not found”错误
【发布时间】:2016-06-19 12:58:42
【问题描述】:

当我尝试在 Python (v3.4) 中使用 OpenCV (v3.1.0) 时遇到问题。为了让事情变得更复杂,OpenCV 是使用“contrib”包和 Qt 支持 (v5.5) 构建的。

这就是我所做的(这本身就有一些陷阱,但这些超出了这个问题的范围):

  1. 安装所需软件
    1. 我安装了WinPython(v3.4.4,64位版本)
    2. 我安装了 cmake (v3.6.0)
  2. 下载源
    1. 我从 GIT 存储库下载了 Qt 源代码
    2. 我从 GIT 存储库下载了 OpenCV 源代码
    3. 我从 GIT 存储库下载了 OpenCV “contrib” 源代码
  3. 构建源 -> 发布,64 位 (!)
    1. 从源代码构建 Qt
    2. 从源代码构建 OpenCV(使用“contrib”模块)

cmake(OpenCV 3.1.0 for python 3)已经负责将“cv2.pyd”复制到“your/python/folder/Lib/site-modules”目录。

现在我遇到的问题是从 python 调用“import cv2”会出现错误“

>>> import cv2
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
import cv2
ImportError: DLL load failed: Module not found

我怎样才能知道缺少哪个模块以及如何解决?

【问题讨论】:

    标签: python qt opencv dll


    【解决方案1】:

    您可能不想做的只是adding paths that are likely needed to your environment variables

    一种方法可以找出缺少的东西:

    1. 下载DependencyWalker
    2. 用依赖walker打开你的“cv2.pyd”
    3. 分析您的文件(在您选择文件时自动启动)
    4. 点击“F9”以显示所需 DLL 的完整路径
    5. 检查,缺少哪些 DLL 文件
    6. 将它们复制到这些文件夹中

    对我来说,python/cv2.pyd 搜索到了 cv2.pyd 所在文件夹中的所有 Qt DLL。

    我只是把它们复制到那里,就是这样。

    【讨论】:

      【解决方案2】:

      对于 Windows:

      步骤 1. 从https://www.python.org/downloads/ 下载 python 安装程序 ,通过双击此文件安装python并检查将python添加到PATH的选项,如给定图像所示。

      第 2 步。从unofficial site 下载文件“numpy‑1.15.4+mkl‑cp27‑cp27m‑win32.whl”。

      转到此文件的位置打开命令提示符并键入-

      pip install numpy‑1.15.4+mkl‑cp27‑cp27m‑win32.whl
      

      现在转到 python IDLE 并输入:

      import numpy
      

      应该没有错误。

      第 3 步。从unofficial site 下载文件“scipy‑1.2.1‑cp27‑cp27m‑win32.whl”。

      转到此文件的位置打开命令提示符并键入-

      pip install scipy‑1.2.1‑cp27‑cp27m‑win32.whl
      

      现在转到 python IDLE 并输入:

      import scipy
      

      应该没有错误。

      第 4 步:从unofficial site 下载文件“opencv_python‑2.4.13.7‑cp27‑cp27m‑win32.whl”。

      转到此文件的位置打开命令提示符并键入-

      pip install opencv_python‑2.4.13.7‑cp27‑cp27m‑win32.whl
      

      现在转到 python IDLE 并输入:

      import cv2
      

      应该没有报错,说明opencv在windows中安装成功。

      【讨论】:

        猜你喜欢
        • 2018-08-29
        • 1970-01-01
        • 2021-12-18
        • 2013-03-10
        • 2020-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多