5

我无法在 Windows 上为 OpenCV (Python) 自动完成工作。

根据此处Abid 的说明,我将 cv2.pyd 文件粘贴在 C:\Python27\Lib\site-packages 中。

在 Python 代码中,我导入如下:

import cv2.cv as cv

我还安装了 numpy,它在站点包中创建了自己的文件夹,这与 OpenCV(我直接粘贴到站点包中)不同。

使用此设置,即使调用 OpenCV 方法,代码也可以毫无问题地执行。

但我无法让自动完成功能正常工作。我试图让它在 Sublime Text 2(使用 SublimeCodeIntel)和 PyCharm 上工作。在这两个 IDE 中,自动完成功能适用于 numpy 导入,但对于 OpenCV 导入失败。

我正在使用 OpenCV 2.4.6 和 Python 2.7(32 位)。

任何可能的解决方案?

4

2 回答 2

7

它不起作用的原因是因为您使用的是一个.pyd文件,该文件与已编译的.dll. 自动完成通过读取.py纯文本的源文件来工作。尝试从 Christoph Gohlke 的适用于 Windows 的 Python 扩展包OpenCV存储库安装英特尔数学内核库优化包,该存储库经常更新,对于在 Windows 上进行任何类型的科学 Python 计算的任何人来说都是必备资源。确保首先删除和目录。这些新包将安装Sublime Text 中自动完成引擎所需的源文件。NumPycv2.pydnumpysite-packages.py


编辑

好的,所以我写了上面的内容,因为它适用于一堆其他包。我是一个 Python 3 人,我从来没有从 Gohlke 安装过 OpenCV,因为它只有 Python 2 绑定。在阅读了下面@CrazyCoder 的评论后,我启动了 Win7,确实他是绝对正确的(我之前应该意识到这一点)——因为 OpenCV 是用 C/C++ 编写的,.py所以 Gohlke 包中包含的唯一文件是cv.py,其全部内容是如下:

from cv2.cv import *

其余的包含在cv2.pyd一堆.dlls 中。来自opencv.org的完整 OpenCV Windows 发行版的下载大小为 291 MB,可扩展至 3 GB,其中的少数.py文件涉及构建 OpenCV,对于自动完成目的没有任何好处。所以,不幸的是,我不知道目前是否有解决您的问题的方法。只需将文档放在手边,或许可以查看2013 年 4 月发布的 Packt/O'Reilly 的OpenCV Computer Vision with Python

于 2013-09-07T14:16:13.513 回答
1

在 Windows 上构建自定义版本的 OpenCV 时,我遇到了与 PyCharm 相同的问题。这是我为修复它所做的:

OpenCV 在 Python 中创建了一个文件夹,site-packages如下所示: opencv site-packages

所以你需要做的只是将python-3.9文件夹添加到你的解释器中。

  • 文件
  • 设置...
  • Python 解释器
  • 口译员旁边的三个点图标 -> 显示全部...
  • 选择您的解释器并单击“显示所选解释器的路径”图标
  • 在 cv2 站点包中添加文件夹

现在正常导入 cv2 模块。

于 2021-03-11T23:44:55.387 回答