2012-07-13 104 views
6

因此,我正在考慮在使用OpenCV的應用程序的開發中使用哪種語言。作爲我決定的一部分,我很想知道在最終的應用程序中包含opencv庫是多麼容易/困難。我真的很喜歡用python寫這個,因爲opencv綁定很好,python很容易,等等。使用Python應用程序打包OpenCV

但是我一直沒能找到一個明確的答案,比如「py2app自動綁定opencv,當它看到「(我想不是),如果沒有,那麼有沒有一種已知的方式來做到這一點?

一般來說,我想知道使用opencv發佈python桌面應用程序的最佳方式。

+0

在OpenCV中使用Python時發現的問題是沒有太多的教程,因此您必須嚴重依賴文檔。 – 2012-07-13 20:19:00

回答

1

我已經使用OpenCV和cxFreeze有效地打包,部署和發佈了Python應用程序。

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

是,cxFreeze自動拿起蟒蛇擴展OpenCV的。我必須手動複製OpenCV DLL(Windows),但這是一個小問題,可以通過cxFreeze中的後處理步驟解決。它確實拿起了其他的DLL,所以我不確定這個問題是什麼。

事實上,它工作得很好,我很驚訝。它沒有正確採用的唯一的事情是QT庫。基本上這裏是我的步驟(我使用QT所以忽略的一部分,如果你是不是):

  1. cxfreeze App.py --target-dir的應用--base名Win32GUI --include模塊PySide .QtNetwork
  2. 將opencv \ build \ x86 \ vc9 \ bin文件複製到App目錄。

就是這樣。

+0

我試過做同樣的事情,完全失敗。你介意分享你的setup.py&cxfreeze運行命令行嗎? – mz2 2016-07-31 11:55:04

0

你可以看看 http://www.pyinstaller.org/ 這是偉大的,它包裝必要的DLL的OpenCV。

對於opencv的工作py2exe也包numpy。確保你在使用py2exe的情況下爲它添加一個依賴項。