【问题标题】:Packaging OpenCV with a python app使用 python 应用程序打包 OpenCV
【发布时间】:2012-07-13 17:26:27
【问题描述】:

所以我正在考虑在开发使用 OpenCV 的应用程序时使用什么语言。作为我决定的一部分,我很想知道在最终应用程序中包含 opencv 库是多么容易/困难。我真的很想用 python 写这个,因为 opencv 绑定很棒,python 很简单,等等。

但我无法找到一个明确的答案,比如“py2app 在看到 import cv 行时会自动捆绑 opencv”(我认为不会),如果没有,那么是否有已知的方法来做到这一点?

总的来说,我想知道使用 opencv 分发 python 桌面应用程序的最佳方式。

【问题讨论】:

  • 我在使用 Python 和 OpenCV 时发现的问题是没有那么多教程,所以你必须严重依赖文档。

标签: python opencv distribution packaging


【解决方案1】:

我已经使用 OpenCV 和 cxFreeze 有效地打包、部署和发布了一个 Python 应用程序。

http://cx-freeze.sourceforge.net/

是的,cxFreeze 自动选择了 OpenCV 的 python 扩展。我不得不手动复制 OpenCV DLL(Windows),但这是一个小问题,可以通过 cxFreeze 中的后处理步骤来解决。它确实选择了其他 DLL,所以我不确定问题是什么。

事实上,它运作得如此之好,我感到很惊讶。唯一没有正确识别的是 QT 库。基本上这是我的步骤(我正在使用 QT,如果你不是,请忽略该部分):

  1. cxfreeze App.py --target-dir App --base-name Win32GUI --include-modules PySide.QtNetwork
  2. 将opencv\build\x86\vc9\bin文件复制到App目录下。

就是这样。

【讨论】:

  • 我已经尝试过这样做,但完全失败了。您介意分享您的 setup.py 和 cxfreeze 运行命令行吗?
【解决方案2】:

你可以看看 http://www.pyinstaller.org/ 很棒,它为opencv打包了必要的dll。

为了让 opencv 工作,py2exe 还打包了 numpy。确保为它添加依赖项,以防您使用 py2exe。

【讨论】:

    猜你喜欢
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 2021-06-20
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多