Установка OpenCV в Linux

OpenCV — библиотека для работы с изображениями

Для конкурса по работотехики, где работает мой друг, собирал систему распознавания образов. Система состояла из микрокомпьютера Raspberry Pi и веб-камеры, видео с камеры захватывала программа, производила опознавание и по ssh передавала обработанный видеопоток.
Работа веделась по ssh, запускал с ключем -X.
В качестве библиотеки выбрана OpenCV — 3.3.0, после долгих поисков материала по этой теме был найден сайт  www.pyimagesearch.com посвященный распознаванию лиц на Python. Порадовал проект созданный  который назывался Not Santa!

Установка OpenCVБ

Подготавливаемся к компиляции и установке:

1
2
3
4
5
6
7
8
9
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libcanberra-gtk*
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python2.7-dev python3-dev

Скачиваем и распаковываем opencv  и модули к нему:

1
2
3
4
5
cd ~
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.3.0.zip
unzip opencv.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.3.0.zip
unzip opencv_contrib.zip

Устанавливаем виртуальное окружение для Python

1
2
3
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo python3 get-pip.py

Дальнейшую установку можно провести в виртуальном окружени для Python, это позволит устанавливать необходимые модули в домашний каталог пользователя, делать это не обязательно и можно пропустить, если в системе используется python 2.7 по умолчанию.

1
2
sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/.cache/pip

Записываем переменные окружения в файл ~/profile

1
2
3
#virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

Перегружаем переменные сессии из profile

1
source ~/.profile

Затем создаем контейнер для виртуального окружения:

1
mkvirtualenv cv -p python2

После создания контейнера устанавливаем

1
workon cv

Дальше идут команды для обоих вариантов (с виртуальным окружением или без)

1
pip install numpy

Переходим к конфигурированию:

1
2
3
4
5
6
7
8
9
10
11
cd ~/opencv-3.3.0/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \
    -D ENABLE_NEON=ON \
    -D ENABLE_VFPV3=ON \
    -D BUILD_TESTS=OFF \
    -D INSTALL_PYTHON_EXAMPLES=OFF \
    -D BUILD_EXAMPLES=OFF ..

Скрипт выполняется не очень продолжительное время после чего если не возникло ошибок можно переходит к процессу компиляции

1
make -j4

Устанавливаем символьную ссылку на модуль cv2 для виртуального контейнера Python

1
2
cd ~/.virtualenvs/cv/lib/python2.7/site-packages/
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

Выполним проверку модуля:

OpenCV - version

После того как утсановили можно переходить к проектам с исползованием этой библиотеки.

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.