Упаковка OpenCV с приложением Python

Поэтому я размышляю над тем, какой язык использовать при разработке приложения, использующего OpenCV. Как часть моего решения, мне интересно знать, насколько легко / сложно включить библиотеку opencv в окончательное приложение. Я действительно хотел бы написать это на Python, потому что привязки opencv великолепны, Python прост и т. Д.

Но я не смог найти четкого ответа на такие вещи, как «py2app автоматически связывает opencv, когда видит строку import cv» (Думаю нет) а если нет, то есть ли известный способ сделать это?

В общем, я хотел бы знать, как лучше всего распространять настольное приложение python с opencv.

 Alex W13 июл. 2012 г., 22:19
Проблема, которую я обнаружил при использовании Python с OpenCV, заключается в том, что учебных пособий не так много, поэтому вам приходится в значительной степени полагаться на документацию.

Ответы на вопрос(2)

Решение Вопроса

развернул и отправил приложение Python, используя OpenCV с cxFreeze.

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

Да, cxFreeze автоматически подобрал расширения Python для OpenCV. Мне пришлось вручную скопировать DLL-библиотеки OpenCV (Windows), но это была небольшая проблема, которая может быть решена с помощью шага постобработки в cxFreeze. Он обнаруживает другие библиотеки DLL, поэтому я не уверен, в чем проблема.

На самом деле, это сработало так хорошо, что я был удивлен. ЕДИНСТВЕННАЯ вещь, которую он не воспринял должным образом, была библиотека QT. В основном, здесь были мои шаги (я использую QT, поэтому игнорируйте эту часть, если вы не):

cxfreeze App.py --target-dir App --base-name Win32GUI --include-modules PySide.QtNetwork Copy over the opencv\build\x86\vc9\bin files to the App directory.

Вот и все.

 31 июл. 2016 г., 13:55
Я пытался сделать то же самое и потерпел неудачу. Не могли бы вы поделиться своим setup.py & amp; cxfreeze работает из командной строки?

http://www.pyinstaller.org/ Это здорово, и он упаковывает необходимые DLL для opencv.

Для работы opencv это py2exe и пакет numpy. Убедитесь, что вы добавили зависимость для него, если вы используете py2exe.

Ваш ответ на вопрос