【问题标题】:Does any one has idea to install Opencv in spyder?有人知道在 spyder 中安装 Opencv 吗?
【发布时间】:2020-05-06 15:37:24
【问题描述】:

导入 cv2 Traceback(最近一次调用最后一次):

文件“”,第 1 行,在 导入cv2

ImportError: DLL load failed: 找不到指定的模块。

【问题讨论】:

  • 请为此提供更多背景信息,我们无法仅使用 3 行错误消息。

标签: python opencv anaconda conda


【解决方案1】:

安装 Anaconda

将 OpenCV-Python 安装到 Anaconda

以下对我有用的说明受此 OpenCV Youtube 视频的启发。到目前为止,我已经让它在我的台式机和笔记本电脑上运行。 64 位机器和 Windows 8.1。

下载 OpenCV 包 首先,到 OpenCV 官方网站下载完整的 OpenCV 包。选择您喜欢的版本(2.x 或 3.x)。我使用的是 Python 2.x 和 OpenCV 3.x - 主要是因为 OpenCV-Python 教程是这样设置/基于的。

复制并粘贴 cv2.pyd 文件 Anaconda Site-packages 目录(例如,在我的例子中是 C:\Users\Johnny\Anaconda\Lib\site-packages)包含您可以导入的 Python 包。我们的目标是将 cv2.pyd 文件复制并粘贴到此目录(以便我们可以在 Python 代码中使用 import cv2。)。

为此,请复制 cv2.pyd 文件...

从此 OpenCV 目录(开始部分在您的机器上可能略有不同):

Python 2.7 和 32 位机器:

C:\opencv\build\python\2.7\x84

Python 2.7 和 64 位机器:

C:\opencv\build\python\2.7\x64 到这个 Anaconda 目录(开始部分在你的机器上可能会略有不同):

C:\Users\Johnny\Anaconda\Lib\site-packages 执行此步骤后,我们现在可以在 Python 代码中使用 import cv2。但是,我们仍然需要做更多的工作来让 FFMPEG(视频编解码器)工作(使我们能够处理视频之类的事情。)

设置环境变量 右键单击“我的电脑”(或 Windows 8.1 上的“此 PC”)-> 左键单击属性 -> 左键单击“高级”选项卡 -> 左键单击“环境变量...”按钮。

添加一个新的用户变量以指向 OpenCV(32 位系统的 x86 或 64 位系统的 x64。)我目前在 64 位机器上。

32 位还是 64 位机器?变量值 32 位 OPENCV_DIR C:\opencv\build\x86\vc12 64 位 OPENCV_DIR C:\opencv\build\x64\vc12 将 %OPENCV_DIR%\bin 附加到用户变量 PATH。

例如,我的 PATH 用户变量如下所示...

之前:

C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts 之后:

C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts;%OPENCV_DIR%\bin 这就是我们完成了! FFMPEG 可以使用了!

测试确认 我们需要测试我们现在是否可以在 Anaconda 中执行这些操作(通过 Spyder IDE):

导入 OpenCV 包 使用 FFMPEG 实用程序(读取/写入/处理视频) 测试 1:我们可以导入 OpenCV 吗? 要确认 Anaconda 现在能够导入 OpenCV-Python 包(即 cv2),请在 IPython 控制台中发出这些:

导入 cv2 打印 cv2.版本 如果 cv2 包导入成功,没有错误,并且打印出 cv2 版本,那么我们都很好!这是一张快照:

import-cv2-ok-in-anaconda-python-2.png

测试 2:我们可以使用 FFMPEG 编解码器吗? 将示例 input_video.mp4 视频文件放在一个目录中。我们想测试我们是否可以:

阅读此 .mp4 视频文件,然后 写出一个新的视频文件(可以是 .avi 或 .mp4 等) 为此,我们需要一个测试 python 代码,将其命名为 test.py。将其放在与示例 input_video.mp4 文件相同的目录中。

这就是 test.py 的样子(注意:非常感谢 Pete 和 Warren 在评论字段中的建议 - 我已将我的原始测试代码替换为他的 - 请自行测试并让我们知道这是否更好用) :

导入 cv2 cap = cv2.VideoCapture("input_video.mp4") print cap.isOpened() # True = 成功读取视频。 False - 无法读取视频。

fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter("output_video.avi",fourcc, 20.0, (640, 360)) print out.isOpened() # True = 成功写出视频。 False - 无法写入视频。

cap.release() out.release() 这个测试非常重要。如果您想处理视频文件,您需要确保 Anaconda / Spyder IDE 可以使用 FFMPEG(视频编解码器)。我花了好几天才让它工作。但我希望它会花费你更少的时间! :)

注意:使用 Anaconda Spyder IDE 时还有一个非常重要的提示。确保检查当前工作目录(CWD)!!!

下一步 现在我们有了 OpenCV-Python 包 (cv2),下一步可能是查看 OpenCV-Python 教程。

【讨论】:

  • 是时候学习“如何格式化您的帖子”了。这将有助于其他人很好地理解它。
猜你喜欢
  • 2021-10-19
  • 1970-01-01
  • 2020-11-21
  • 2021-12-30
  • 2011-03-31
  • 1970-01-01
  • 2010-10-18
  • 2018-01-11
  • 2018-11-30
相关资源
最近更新 更多