Настройка OpenCV3 с Python3 в MacOS

Недавно я хотел начать проект с OpenCV, используя его на Python. Однако я нашел только краткие описания использования в Python2, а не в Python3. Я узнал, что вам нужно проделать некоторую предварительную работу, чтобы включить OpenCV с Python3, и я хочу провести вас через этот проект, если вы тоже боретесь с ним.

Предпосылки

  • Убедитесь, что у вас установлен XCode и вы приняли лицензию разработчика следующим образом:
sudo xcodebuild -license
  • Установите инструменты командной строки Apple, такие как GCC, make, clang и т. Д .:
sudo xcode-select --install
  • Убедитесь, что у вас установлены Homebrew и Python3 (3.5, 3.6, 3.7)
  • Установите псевдоним python на python3 в своем .bash_profile, чтобы он использовал Python3 по умолчанию.
alias python=”python3”
alias python2=”python2”

Введите следующую команду, чтобы изменения вступили в силу:

source .bash_profile
  • Убедитесь, что у вас установлен NumPy, необходимый для OpenCV.
python -m pip3 install numpy

Предварительные требования OpenCV

Мы собираемся настроить предварительные условия OpenCV с помощью Homebrew. Для этого введите следующие три команды.

brew install cmake pkg-config
brew install jpeg libpng libtiff openexr
brew install eigen tbb

Установка OpenCV из исходников

Мы установим OpenCV из репозитория GitHub. Поэтому перейдите в корневой каталог пользователей и клонируйте репо:

cd ~ 
git clone https://github.com/opencv/opencv

После этого клонируйте репозиторий opencv_contrib:

git clone https://github.com/opencv/opencv_contrib

Теперь нам нужно настроить OpenCV вместе с Python для наших нужд. Это та часть, на которую у меня ушло больше всего времени, чтобы понять, как поддерживать работу.

Перейдите в каталог opencv, создайте новый каталог с именем build и войдите в него:

cd ~/opencv
mkdir build
cd build

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

python -m venv venv
source venv/bin/activate

Затем мы настроим фактическую сборку с помощью cmake. Я нашел отличную статью с шаблоном для этого, которую мы будем использовать, и я объясню, где найти необходимую информацию. Вот шаблон, который вы можете скопировать и вставить в свой терминал:

Присмотритесь к строкам 4 и 5. Это те, которые вам нужно настроить под свои нужды. Перейти в каталог

/usr/local/Cellar/python3/

И проверьте, какие версии Python доступны для вас и как устроены каталоги. Однако это должно быть похоже на два предоставленных мной пути.

После настройки этих двух строк для ваших нужд нажмите Enter, и начнется выполнение cmake.

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

make -j4

Флаг -j4 использует все четыре ядра, доступные на моем Mac. Это может занять несколько минут, поэтому выпейте кофе и откиньтесь на спинку кресла. После компиляции без ошибок выполните следующую команду, чтобы установить его.

sudo make install

Переименуйте файл OpenCV для дальнейшего использования в Python:

cd /usr/local/lib/python3.6/site-packages/
mv cv2.cpython-35m-darwin.so cv2.so
cd ~

Если вы используете другую версию Python, измените свой путь. Поздравляю! Вы успешно установили OpenCV под Python. Чтобы сделать его глобально доступным, вам нужно сделать последний шаг.

Добавьте эти две строки в свой ~ / .bash_profile:

# Add opencv to PYTHONPATH
export PYTHONPATH=/usr/local/lib/python3.6/site-packages/:$PYTHONPATH

Выйдите из виртуальной среды, если вы еще этого не сделали:

deactivate

Проверьте, сработало ли это, запустив интерактивную оболочку python и импортировав cv2:

python
>>> import cv2

Если у вас возникли проблемы, не стесняйтесь оставлять комментарии или связываться со мной через Twitter, и я постараюсь вам помочь.

Понравилась история? Пожалуйста, поделитесь этим с другими!