【问题标题】:How to make Opencv 2.4.8 with Python 2.7.5 to work on Windows7 Cygwin64?如何使用 Python 2.7.5 使 Opencv 2.4.8 在 Windows7 Cygwin64 上工作?
【发布时间】:2014-03-14 21:03:30
【问题描述】:

到现在为止,我花了大约 15 个小时试图让 Opencv 2.4.8 在我的 Windows7 Cygwin-64 环境中与 Python 2.7.5 一起工作。

struggle 之后,我终于设法让 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
>>>

在 Opencv 安装(使用 cmake-gui)期间,所有关于 Python 的配置条目都已正确定义。

我已将 opencv/bin 的路径添加到我的 PATH 中。

我已将文件 cv2.pyd 从 opencv 分发版复制到我的 Python 安装的 site-packages 文件夹,但无济于事。

我尝试将 PYTHONPATH 设置为指向站点包目录,但没有帮助。

在我看来,Python 似乎不知道 cv2 模块。

非常感谢任何有关下一步尝试的指示。此外,如果有人可以提供一些关于 Python 通常如何定位外部非 Python 模块的见解,除了将相应的 .pyd 文件放在站点包库中之外,将有助于进一步排除故障。

TIA。

【问题讨论】:

  • 尝试找到 64 位 python 的安装程序 here
  • 谢谢。会调查的。
  • 你不能在 Cygwin 的 Python 中使用 cv2.pyd(或为 Windows Python 构建的任何其他东西);它们是不相容的。为 Cygwin 构建 OpenCV 需要 several patches,但可以从 Ports 获得二进制包。
  • @Yaakov,谢谢你的结论性答案。在我能够在我的设置上运行 OpenCV/Python 之前,似乎还有一些额外的工作要做。我设法从源代码构建的 OpenCV 与 Cygwin 的 gcc/C++ 配合得很好,所以我想我现在坚持使用 C++,大多数示例似乎都是用 C++ 编写的。

标签: python opencv python-2.7 cygwin


【解决方案1】:

问题解决了!我现在可以使用 OpenCV 运行 Python。

@Yaakov 让我走上了正确的道路:一旦我意识到 cv2.pyd 基本上只是一个 dll,剩下的就很容易了:因为我从源代码构建了 OpenCV,我开始怀疑可能只是一个 cv2 .dll 已在该过程中构建。确实有,在 OpenCV 构建区的 lib 目录中。

将该文件复制到我的 python 的站点包目录后,一切开始正常。

更多细节here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 2023-03-25
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多