Windows中OpenCV-Python的自动完成功能不起作用

Apo*_*vaJ 5 python opencv autocomplete pycharm sublimetext2

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

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

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

import cv2.cv as cv
Run Code Online (Sandbox Code Playgroud)

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

使用此设置,即使调用OpenCV方法,代码也不会出现任何问题。

但是我无法自动完成工作。我试图使其在Sublime Text 2(与SublimeCodeIntel)和PyCharm上一起工作。在两个IDE中,自动完成功能都适用于numpy导入,但不适用于OpenCV导入。

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

任何可能的解决方案?

Mat*_*DMo 7

它无法正常工作的原因是因为您使用的是.pyd文件,该文件本质上与已编译相同.dll。自动完成功能通过读取源.py文件(纯文本文件)来工作。尝试从Christoph Gohlke的Windows Python扩展软件包Python扩展软件包中安装经过OpenCV英特尔数学内核库优化的NumPy软件包,并对其进行优化,该软件包经常更新,并且是在Windows上进行任何形式的科学Python计算的任何人都必须使用的资源。确保首先删除cv2.pydnumpy目录site-packages。这些新软件包将.py在Sublime Text中安装自动完成引擎所需的源文件。


编辑

好的,所以我写了上面的内容,因为它对于其他很多软件包都很好用。我是一名Python 3专家,并且从未安装过Gohlke的OpenCV,因为它只有Python 2绑定。阅读以下@CrazyCoder的评论后,我启动了Win7,确实他是绝对正确的(并且我之前应该已经意识到这一点)-由于OpenCV是用C / C ++编写的.py,因此Gohlke软件包中唯一包含的文件是cv.py,其全部内容是如下:

from cv2.cv import *
Run Code Online (Sandbox Code Playgroud)

其余的包含在中cv2.pyd,还有一堆.dlls。来自opencv.org的完整OpenCV Windows发行版的下载地址为291 MB,可扩展至 3 GB,并且其中的几个.py文件都涉及构建OpenCV,对于自动完成目的而言并没有任何好处。因此,很不幸,我不知道目前是否有解决您的问题的方法。只需将文档放在手边即可,或者可以查阅Packt / O'Reilly于2013年4月发布的《使用Python的OpenCV计算机视觉》。祝您好运!