У меня уже установлен OpenCV C ++. Могу ли я использовать его функции в Python без переустановки библиотеки? - PullRequest
1 голос
/ 17 апреля 2020

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

Достижим ли мой план? Нужно ли переконфигурировать или перекомпилировать библиотеку? Если так, есть ли способ заставить существующую библиотеку opencv работать с python?

Если у вас есть лучшее предложение, вы можете опубликовать его ниже.

Информация о моей текущей системе:

  • OSX 10.13.6
  • opencv 3.4.3 (устанавливается с домашним пивом)
  • python 3.6.10

1 Ответ

0 голосов
/ 19 апреля 2020

Компиляция понадобится только для привязок. Оболочка python создается из исходного кода OpenCV. Генерируемый код-заглушка должен быть связан с Python и библиотеками OpenCV.

Процесс начинается с файла Cmake с modules/python/CMakeFiles.txt, который определяет список модулей, которые должны быть доступны из Python. Затем заголовки извлекаются и анализируются из них скриптом генератора привязок python, который находится в исходной структуре OpenCV. Заголовки должны включать объявления функций et c, которые затем должны быть преобразованы в функции-оболочки с помощью того же сценария генератора.

Вы можете попытаться изменить cmake, чтобы исключить / включить любой модуль, который вы не хотите компилировать и построить привязки. Это не будет перекомпилировать OpenCV

Пожалуйста, посмотрите на: OpenCV Python Привязки , чтобы понять подробно, как генерируются привязки python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...