Как установить OpenCV on Ubuntu 18.04 Desktop

Posted by

Cперва все шаги прорабатываю на Virtualbox виртуальной машине прежде чем перейти на Ubuntu 18.04 Desktop amd64 ноутбука Lenovo E555

Установка OpenCV через пакет на Ubuntu 18.04 Desktop, лучше уж так чем собирать из исходников и тратить время на зависимости и решения что не получается и почему вроде инструкция у автора работает, а у меня нет. У меня на Ubuntu 18.04 Desktop не получилось собрать пакет opencv из исходников, пока во всяком случае. Я поклонник deb пакетов, а значит:

ekzorchik@srv-bionic:~$ sudo rm -rf /var/lib/dpkg/lock

ekzorchik@srv-bionic:~$ sudo rm -Rf /var/lib/apt/lists

ekzorchik@srv-bionic:~$ sudo apt-get update && sudo apt-get upgrade -y

ekzorchik@srv-bionic:~$ python --version

Python 2.7.15rc1

ekzorchik@srv-bionic:~$ python3 --version

Python 3.6.5

ekzorchik@srv-bionic:~$ sudo apt-get install -y git python-opencv python3-opencv

ekzorchik@srv-bionic:~$ dpkg -S cv2 | grep python

python-opencv: /usr/lib/python2.7/dist-packages/cv2.x86_64-linux-gnu.so

python3-opencv: /usr/lib/python3/dist-packages/cv2.cpython-36m-x86_64-linux-gnu.so

ekzorchik@srv-bionic:~$ python3

Python 3.6.5 (default, Apr 1 2018, 05:46:30)

[GCC 7.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2 as cv

>>> print(cv.__version__)

3.2.0

>>> quit()

Вот собственно и всё, opencv из бинарников установлен. Можно разрабатывать приложения.

А если устанавливать OpenCV из исходников, то будет получена самая последняя и актуальная версия на текущий момент установки.

ekzorchik@srv-bionic:~$ sudo apt-get install build-essential cmake git libgtk2.0-dev python-dev python-pip python3-pip pkg-config git libavcodec-dev libavformat-dev libswscale-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev libavcodec-dev unzip python-tk unzip pkg-config libjpeg-dev libpng-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev python3-dev qt5-default -y

ekzorchik@srv-bionic:~$ git clone https://github.com/opencv/opencv.git

ekzorchik@srv-bionic:~$ git clone https://github.com/opencv/opencv_contrib.git

На заметку:

  • opencvmain repository, contains core types and functions, stable algorithms, build scripts and tools
  • opencv_contribcontains experimental and unstable algorithms, needs main repository for building

ekzorchik@srv-bionic:~$ sudo -H pip2 install -U pip numpy

ekzorchik@srv-bionic:~$ sudo -H pip3 install -U pip numpy

ekzorchik@srv-bionic:~$ sudo pip2 install virtualenv virtualenvwrapper

ekzorchik@srv-bionic:~$ sudo pip3 install virtualenv virtualenvwrapper

ekzorchik@srv-bionic:~$ sudo pip3 install launchpadlib

ekzorchik@srv-bionic:~$ echo "# Virtual Environment Wrapper" >> ~/.bashrc

ekzorchik@srv-bionic:~$ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc

ekzorchik@srv-bionic:~$ source ~/.bashrc

ekzorchik@srv-bionic:~$ mkvirtualenv facecourse-py2 -p python2

(facecourse-py2) ekzorchik@srv-bionic:~$ pip install numpy scipy matplotlib scikit-image scikit-learn ipython

(facecourse-py2) ekzorchik@srv-bionic:~$ deactivate

ekzorchik@srv-bionic:~$ mkvirtualenv facecourse-py3 -p python3

(facecourse-py3) ekzorchik@srv-bionic:~$ pip install numpy scipy matplotlib scikit-image scikit-learn ipython

(facecourse-py3) ekzorchik@srv-bionic:~$ deactivate

ekzorchik@srv-bionic:~$ mkdir opencv/build

ekzorchik@srv-bionic:~$ cd opencv/build/

ekzorchik@srv-bionic:~/opencv/build$ cmake -D CMAKE_BUILD_TYPE=RELEASE \

> -D CMAKE_INSTALL_PREFIX=/usr/local \

> -D INSTALL_C_EXAMPLES=ON \

> -D INSTALL_PYTHON_EXAMPLES=ON \

> -D WITH_TBB=ON \

> -D WITH_V4L=ON \

> -D WITH_QT=ON \

> -D WITH_OPENGL=ON \

> -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \

> -D BUILD_EXAMPLES=ON ..

ekzorchik@srv-bionic:~/opencv/build$ make -j$(nproc)

На заметку: если логических CPU меньше чем 4 то компиляция займет огромнейшей количество времени

ekzorchik@srv-bionic:~/opencv/build$ sudo make install

ekzorchik@srv-bionic:~/opencv/build$ sudo ldconfig

ekzorchik@srv-bionic:~/opencv/build$ pkg-config --modversion opencv

4.0.0

ekzorchik@srv-bionic:~/opencv/build$ cd ~

ekzorchik@srv-bionic:~$ python3

>>> print(cv2.__version__)

4.0.0-pre

>>> quit()

ekzorchik@srv-bionic:~$

Установка завершена успешно. Как видно из пошаговых шагов нет ничего сложного. Кстати рекомендую разрабатывать приложения в виртуальном окружении дабы не засорять систему, так кстати советуют и многие руководства и это не спроста, порядок должен быть во всем. Мне этой заметкой нужно было подготовить заготовку для дальнейшего и я сделал это. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.