Windows:Python + OpenCV + Qt:“import cv2”给出“dll not found”错误
Posted
技术标签:
【中文标题】Windows:Python + OpenCV + Qt:“import cv2”给出“dll not found”错误【英文标题】:Windows: Python + OpenCV + Qt: "import cv2" gives "dll not found" error 【发布时间】:2016-06-19 12:58:42 【问题描述】:当我尝试在 Python (v3.4) 中使用 OpenCV (v3.1.0) 时遇到问题。为了让事情变得更复杂,OpenCV 是使用“contrib”包和 Qt 支持 (v5.5) 构建的。
这就是我所做的(这本身就有一些陷阱,但这些超出了这个问题的范围):
-
安装所需软件
-
我安装了WinPython(v3.4.4,64位版本)
我安装了 cmake (v3.6.0)
-
我从 GIT 存储库下载了 Qt 源代码
我从 GIT 存储库下载了 OpenCV 源代码
我从 GIT 存储库下载了 OpenCV “contrib” 源代码
-
从源代码构建 Qt
从源代码构建 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
我怎样才能知道缺少哪个模块以及如何解决?
【问题讨论】:
【参考方案1】:您可能不想做的只是adding paths that are likely needed to your environment variables。
有一种方法可以找出缺少的东西:
-
下载DependencyWalker
用依赖walker打开你的“cv2.pyd”
分析您的文件(在您选择文件时自动启动)
点击“F9”以显示所需 DLL 的完整路径
检查,缺少哪些 DLL 文件
将它们复制到这些文件夹中
对我来说,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中安装成功。
【讨论】:
以上是关于Windows:Python + OpenCV + Qt:“import cv2”给出“dll not found”错误的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV开发——OpenCV3.4+Python3.5+Windows10安装问题解决
Windows 下 Python 3.x 的 OpenCV [重复]
Windows下使用VS2008编译OpenCV 2.1 添加Intel TBB和Python支持
Windows:Python + OpenCV + Qt:“import cv2”给出“dll not found”错误