我无法在Windows上获得OpenCV(Python)的自动完成功能。
根据Abid的说明here,我将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位)。
任何可能的解决方案?
答案 0 :(得分:4)
它无效的原因是因为您使用的是.pyd
文件essentially the same as a compiled .dll
。自动完成功能通过读取源.py
文件(纯文本)来实现。尝试安装来自Christoph Gohlke的OpenCV
存储库的NumPy
和Intel Math Kernel Library优化Python Extension Packages for Windows软件包,该软件包经常更新,是任何进行任何科学Python计算的人必备的资源在Windows上。确保先从cv2.pyd
删除numpy
和site-packages
目录。这些新软件包将在Sublime Text中安装自动完成引擎所需的.py
源文件。
<强> 修改 强>
好的,所以我写了上面的内容,因为它适用于其他一些软件包。我是一个Python 3人,我从未安装过Gohlke的OpenCV,因为它只有Python 2绑定。在阅读下面的@ CrazyCoder的comment之后,我启动了Win7,确实他是绝对正确的(我之前应该已经意识到了这一点) - 因为OpenCV是用C / C ++编写的,唯一的.py
文件包含在Gohlke包是cv.py
,其全部内容如下:
from cv2.cv import *
其余内容包含在cv2.pyd
和一堆.dll
中。来自opencv.org的完整OpenCV Windows发行版的下载量为291 MB,扩展到3 GB,其中少数.py
个文件涉及构建OpenCV,并且对自动完成目的没有任何好处。所以,不幸的是,我不知道目前是否有解决方案。请保持docs方便,也许可以查看2013年4月发布的Packt / O'Reilly的OpenCV Computer Vision with Python。祝您好运!
答案 1 :(得分:1)
在 Windows 上构建自定义版本的 OpenCV 时,我遇到了与 PyCharm 相同的问题。这是我为修复它所做的:
OpenCV 在 Python site-packages
中创建了一个文件夹,如下所示:
opencv site-packages
所以您需要做的就是将 python-3.9
文件夹添加到您的解释器中。
现在正常导入cv2模块。