使用python应用程序打包OpenCV

Sam*_*Sam 6 python opencv packaging distribution

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

但我还没有找到一个明确的答案,比如"当它看到导入的cv行时,py2app会自动捆绑opencv吗"(我认为没有),如果没有,那么有没有一种已知的方法可以做到这一点?

一般来说,我想知道使用opencv分发python桌面应用程序的最佳方法.

小智 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 目录。

就是这样。