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
На заметку:
- opencv – main repository, contains core types and functions, stable algorithms, build scripts and tools
- opencv_contrib – contains 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.