到目前为止,我已经花费了约15个小时的时间,尝试在我的Windows7 Cygwin-64环境中,让Opencv 2.4.8与Python 2.7.5配合使用。
在一些挣扎之后,我终于成功地让Opencv与C++配合工作了,但我仍然无法从Python中调用Opencv。
这是我尝试导入cv2模块时收到的结果:
$ python
Python 2.7.5 (default, Oct 2 2013, 22:34:09)
[GCC 4.8.1] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>>
在使用cmake-gui安装Opencv时,所有与Python相关的配置条目都已正确定义。
我已将opencv/bin路径添加到我的PATH中。
我已将文件cv2.pyd从opencv发行版复制到我的Python安装的site-packages文件夹中,但没有成功。
我尝试设置PYTHONPATH以指向site-packages目录,但没有帮助。
对我来说,似乎Python不知道cv2模块的存在。
如果有人能提供关于Python如何定位外部非Python模块的更多见解,除了将相应的.pyd文件放置在site-packages库中之外,这将有助于进一步疑难解答。
谢谢。
cv2.pyd
(或任何其他为Windows Python构建的内容),它们不兼容。为Cygwin构建OpenCV需要多个补丁,但二进制包可从Ports获取。 - Yaakov