Установка

Opencv установка linux: Установка OpenCV Π² Ubuntu 18.04

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Установка OpenCV Π² Ubuntu 18.04

OpenCV (Open Source Computer Vision Library) – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ зрСния выпущСнная ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD, свободная ΠΊΠ°ΠΊ для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΈ коммСрчСского использования. Π£ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ интСрфСйсы для C++, Python ΠΈ Java, поддСрТиваСтся Windows, Linux, MacOS, IOS ΠΈ Android. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

OpenCV ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΡƒΡŽ структуру, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… статичСских ΠΈ динамичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΊΠ°ΠΊ выполняСтся установка OpenCV Π½Π° Ubuntu 18.04 ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория ΠΈΠ»ΠΈ исходников.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Установка OpenCV ΠΈΠ· рСпозитория Ubuntu

ΠŸΠ°ΠΊΠ΅Ρ‚ OpenCV доступСн Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… рСпозиториях Ubuntu 18.04. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² рСпозиториях находится вСрсия 3.2, Π° Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ 4.0. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ OpenCV Π² Ubuntu 18.04 вмСстС с Python 3, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

sudo apt update
sudo apt install python3-opencv

Π—Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ cv2 Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ python ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ установка ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ:

python3 -c "\
import cv2
print(cv2.__version__)"

3.2.0

Π’ Ubuntu 18.04 LTS ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ вСрсия Python – 3.6. Если Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ OpenCV с привязками Python 2, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ python-opencv.

Установка OpenCV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PIP

ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ pip позволяСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ python Π² систСму. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сам ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€:

sudo apt install python-pip

Π—Π°Ρ‚Π΅ΠΌ остаСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ саму Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ:

sudo pip install opencv-python

ПослС этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠ°ΠΊ описано Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅.

Установка OpenCV ΠΈΠ· исходного ΠΊΠΎΠ΄Π°

Π’ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ pip находится Π½Π΅ самая новая вСрсия. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ, самая новая вСрсия — 4.1.0. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Ρ‘, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ OpenCV ΠΈΠ· исходного ΠΊΠΎΠ΄Π°.

Π¨Π°Π³ 1. Установка зависимостСй

Π‘Π½Π°Ρ‡Π°Π»Π° установим зависимости:

sudo apt install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev

Π¨Π°Π³ 2. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄ΡƒΡ‚ сохранСны Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ OpenCV ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Ρ‘

mkdir ~/opencv_build
cd ~/opencv_build

Π—Π°Ρ‚Π΅ΠΌ скачайтС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π‘ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π΄Π²Π° рСпозитория — opencv ΠΈ opencv-contrib. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ зрСния ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ всСм, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ.

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

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ OpenCV ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΎΠ±ΠΎΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π² Π½ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git checkout <нуТная-вСрсия>

Π¨Π°Π³ 3. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ сборкС

Когда Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, создайтС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ сборки ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π½Π΅Π΅:

cd ~/opencv_build/opencv
mkdir build
cd build

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ сборку OpenCV, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ CMake:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сборка CMake Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π¨Π°Π³ 4. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ OpenCV

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„Π»Π°Π³ -j Π² соотвСтствии с вашим процСссором. Π£Π·Π½Π°Ρ‚ΡŒ число ядСр процСссора ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ nproc. НапримСр, Π² систСмС 4 ядра, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Π»Π°Π³ –j4. НачнитС процСсс компиляции:

make

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя. Π­Ρ‚ΠΎ зависит ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вашСй систСмы. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:

Π¨Π°Π³ 5. Установка OpenCV

Когда процСсс компиляции Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, установитС OpenCV с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo make install

Π¨Π°Π³ 6. ВСрсия OpenCV

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΎΡˆΠ»Π° Π»ΠΈ установка OpenCV ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ OpenCV:

pkg-config --modversion opencv4

Π’Ρ‹Π²ΠΎΠ΄:

4.0.1

python3 -c "\
import cv2
print(cv2.__version__)"

Π’Ρ‹Π²ΠΎΠ΄:

4.0.1-dev

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли ΠΊΠ°ΠΊ выполняСтся установка OpenCV Π² Ubuntu 18.04 ΠΈΠ· рСпозитория ΠΈΠ»ΠΈ исходных ΠΊΠΎΠ΄ΠΎΠ². Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ использованию Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ доступно Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС.

Установка OpenCV Π½Π° Linux β€” JenRom Blog

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚!

БСгодня ΠΌΡ‹ рассмотрим процСсс установки OpenCV.

OpenCV β€”Β Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ зрСния, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ числСнных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° C/C++, Ρ‚Π°ΠΊΠΆΠ΅ разрабатываСтся для Python, Java, Ruby, Matlab, Lua ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков. ΠœΠΎΠΆΠ΅Ρ‚ свободно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² акадСмичСских ΠΈ коммСрчСских цСлях — распространяСтся Π² условиях лицСнзии BSD.

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ OpenCV 2.4.9, Π½ΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ ΡƒΠΆΠ΅ Π²Ρ‹ΡˆΠ»Π° OpenCV 3.0 alpha с большим количСством Π½ΠΎΠ²Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ ΠΈΠ»ΠΈ ΡƒΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

1. Update Ubuntu

ОбновляСм списки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²


sudo apt-get update

Install Dependencies

2. Essentials

Установим Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ инструмСнты для сборки OpenCV


sudo apt-get -y install build-essential cmake pkg-config

3.Β Install Image I/O libraries

УстанавливаСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° для ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ


sudo apt-get install libjpeg-dev libtiff4-dev libjasper-dev -y

4. Install the GTK dev library

УстанавливаСм GTK β€”Β ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽΒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒΒ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ GUI


sudo apt-get -y install libgtk2.0-dev

5. Install Video I/O libraries

УстанавливаСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° для Π²ΠΈΠ΄Π΅ΠΎ


sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y

ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ β€” устанавливаСм ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Fireware Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΠΌΠ΅Ρ€


sudo apt-get -y install libdc1394-22-dev

ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ β€” устанавливаСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎ


sudo apt-get -y install libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ β€” устанавливаСм срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Python ΠΈΒ Python Numerical library


sudo apt-get -y install python-dev python-numpy

ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ β€” устанавливаСм  Intel TBBΒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² OpenCV


sudo apt-get -y install libtbb-dev

ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ β€” устанавливаСм Qt dev library


sudo apt-get -y install libqt4-dev

Compile and Install

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ ΠΎΡ‚ΡΡŽΠ΄Π°Β OpenCV 2.4.9Β Π² Ρ‚Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π³Π΄Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходники. Π― Π»ΠΈΡ‡Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» Π² home (~/) Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ для удобства.

Π—Π°Ρ‚Π΅ΠΌ распаковываСм Π°Ρ€Ρ…ΠΈΠ²


unzipΒ opencv-2.4.9.zip

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ build Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ OpenCV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cmake. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ .. Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cmake !!


cd opencv-2.4.9/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_OPENGL=ON ..

UPDATE for OpenCV 3.0

НСкоторыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ OpenCV Π±Ρ‹Π»ΠΈ пСрСнСсСны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π² сборку, склонируйтС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ (скачайтС source ΠΊΠΎΠ΄) ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² cmake Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ строчку:


-D OPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules

Π³Π΄Π΅ Β  <opencv_contrib> β€” располоТСниС opencv_contrib Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π΅


make

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, устанавливаСм OpenCV


sudo make install

Β 

Configuring

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ OpenCV. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ opencv.conf Ρ„Π°ΠΉΠ»:


sudo gedit /etc/ld.so.conf.d/opencv.conf

Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строчку в ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°(ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым Ρ„Π°ΠΉΠ»ΠΎΠΌ, это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ) ΠΈ Π·Π°Ρ‚Π΅ΠΌ сохраним Π΅Π³ΠΎ:


/usr/local/lib

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ для настройки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:


sudo ldconfig

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ»:


sudo gedit /etc/bash.bashrc

Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π΅ строчки Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° ΠΈ сохраним Π΅Π³ΠΎ:


PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

НаконСц, Π·Π°ΠΊΡ€ΠΎΠ΅ΠΌ консоль ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ(Ρ‡Ρ‚ΠΎΠ±Ρ‹ запустился bash.bashrc скрипт), ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠ»ΠΈ Π²Ρ‹ΠΉΠ΄Π΅ΠΌ ΠΈ Π·Π°ΠΉΠ΄Π΅ΠΌ ΠΏΠΎΠ΄ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записью снова. OpenCV ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ сдСлаСтС это.

Testing

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ компиляция ΠΏΡ€ΠΎΡˆΠ»Π° Ρ…ΠΎΡ€ΠΎΡˆΠΎ, это ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ тСстовыС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹Β OpenCV. НапримСр, для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ основного модуля ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ opencv-2.4.9/build/bin ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:


./opencv_test_core

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ failβ€˜Ρ‹ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΡ‡Π°Ρ‚ΡŒΡΡ ΠΈΠ·-Π·Π° ΠΎΡ‚ΡΡƒΡ‚ΡΠ²ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ прохоТдСния тСстов, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ изобраТСния ΠΈΠ· Β opencv-2.4.9/samples Π² opencv-2.4.9/build/bin.

Π’ΠΎΡ‚ ΠΈ всС, ΠΏΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас установлСна самая мощная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ.

ВсСм ΡƒΠ΄Π°Ρ‡ΠΈ!

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ссылкой:

ΠŸΠΎΠ½Ρ€Π°Π²ΠΈΠ»ΠΎΡΡŒ это:

Нравится Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°…

ΠŸΠΎΡ…ΠΎΠΆΠ΅Π΅

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ OpenCV Π½Π° Ubuntu 18.04

Π’ этом руководствС ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ OpenCV Π½Π° Ubuntu 18.04.

OpenCV (Open Source Computer Vision Library) прСдставляСт собой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Vision с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π°Β C/C++, Ρ‚Π°ΠΊΠΆΠ΅ разрабатываСтся для Python,Β Java,Β Ruby.Β Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ спСктра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π°Π½Π°Π»ΠΈΠ· мСдицинских ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΡƒΠ»ΠΈΡ†, Π²ΠΈΠ΄Π΅ΠΎ наблюдСния, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ распознаваниС Π»ΠΈΡ†, отслСТиваниС двиТущихся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ 3D-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

OpenCVΒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅Ρ€Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ускорСниСм GPU для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠœΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… способа установки OpenCV Π½Π° Ubuntu.Β Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² установки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅ всСго для вас.

ΠŸΠ°ΠΊΠ΅Ρ‚ OpenCV доступСн Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ распространСния Ubuntu 18.04. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания вСрсии вСрсия Π² рСпозиториях – 3.2, которая Π½Π΅ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ послСднСй вСрсиСй.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ OpenCV ΠΈΠ· Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Ubuntu 18.04, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  1. ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ индСкс ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ установитС ΠΏΠ°ΠΊΠ΅Ρ‚ OpenCV, ввСдя:
    sudo apt update
    sudo apt install python3-opencv

    Β 

    Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ установлСны всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для запуска OpenCV.

  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ установку OpenCV. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ установку, ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΒ cv2Β ΠΈ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Π²Π΅Ρ€ΡΠΈΡŽ OpenCV:
    python3 -c "\
    import cv2
    print(cv2.__version__)"

    Β 

ВСрсия Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Ubuntu 18.04 LTS – 3.6. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ OpenCV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python 2, установитС ΠΏΠ°ΠΊΠ΅Ρ‚Β python-opencv.

Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenCV ΠΈΠ· источника – это Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ способ установки OpenCV. Он Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ систСмы, ΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ сборки.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ OpenCV ΠΈΠ· источника, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  1. Установка Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ установят всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости:
    sudo apt install build-essential cmake git pkg-config libgtk-3-dev
    sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
    sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr
    sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev

    Β 

  2. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° OpenCV. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° OpenCV ΠΈ OpenCV contrib со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:
    mkdir ~/opencv_build && cd ~/opencv_build
    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git

    Β 

    На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания вСрсии ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² рСпозиториях github Π±Ρ‹Π»Π° вСрсия 4.0.0. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ cd для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²Β opencvΠΈΒ opencv_contribΒ ΠΈ запуститС git checkout <opencv-version>

  3. Настройка OpenCV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CMake. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ создайтС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ сборки ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π½Π΅Π³ΠΎ:
    cd ~/opencv_build/opencv
    mkdir build && cd build

    Β 

    НастройтС сборку OpenCV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CMake:

    cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local \
        -D INSTALL_C_EXAMPLES=ON \
        -D INSTALL_PYTHON_EXAMPLES=ON \
        -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
        -D BUILD_EXAMPLES=ON ..

    Β 

    Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ систСма сборки CMake Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅:

  4. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ OpenCV. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„Π»Π°Π³Β -jΒ Π² соотвСтствии с вашим процСссором. Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ количСство ядСр вашСго процСссора, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ, Π½Π°Π±Ρ€Π°Π²Β nproc. Моя систСма ΠΈΠΌΠ΅Π΅Ρ‚ 8 ядСр, поэтому я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΒ Ρ„Π»Π°Π³Β -j8. ЗапуститС процСсс компиляции:

    ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ нСсколько ΠΌΠΈΠ½ΡƒΡ‚ ΠΈΠ»ΠΈ большС, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вашСй систСмы. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅:

  5. Установка OpenCV. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ процСсса компиляции установитС OpenCV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:
  6. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° установки OpenCV. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π»ΠΈ установлСн OpenCV, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ OpenCV:
    pkg-config --modversion opencv

    Β 

ΠœΡ‹ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π²Π°ΠΌ Π΄Π²Π° Ρ€Π°Π·Π½Ρ‹Ρ… способа установки OpenCV Π½Π° ваш сСрвСр Ubuntu 18.04.Β Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π²Π°ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ зависит ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ.Β Π₯отя установка ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ вСрсии ΠΈΠ· рСпозитория Ubuntu ΠΏΡ€ΠΎΡ‰Π΅, созданиС OpenCV ΠΈΠ· источника Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, ΠΈ это Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ваш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΈ установкС OpenCV.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠΆΠ΅.

Если Π²Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, поТалуйста, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Установка Open CV (Linux)

Π­Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для языка программирования Python ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ Π·Ρ€Π΅Π½ΠΈΠ΅ΠΌ (Ρ€Π°Π·Π΄Π΅Π» машинного обучСния — Machine Learning).
Для понимания ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ процСсс распознавания Π»ΠΈΡ†Π° (классика), Ссли Π± Π½Π΅ сущСствовало OpenCV:

  1. ΠŸΠ΅Ρ€Π²ΠΎ-Π½Π°ΠΏΠ΅Ρ€Π²ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с Π»ΠΈΡ†Π°ΠΌΠΈ людСй ΠΈ Π±Π΅Π· Π½ΠΈΡ…
  2. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот Π½Π°Π±ΠΎΡ€ — ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ пояснСниС: присутствуСт Π»ΠΈ Π½Π° Π½Π΅ΠΌ чСловСчСскоС Π»ΠΈΡ†ΠΎ.
  3. Π Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π½Π° ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΡƒΡŽ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ.
  4. Π”Π°Π»Π΅Π΅ ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΈ сочСтания Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² машинного обучСния (β€œΠ΄Π΅Ρ€Π΅Π²ΠΎβ€, β€œΡΠ»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΉ лСс”, β€œΠ³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Π½Ρ‹ΠΉ спуск”, β€œΠ±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΠ΅ сосСди” ΠΈ Ρ‚.Π΄.) ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΉΡ€ΠΎΡΠ΅Ρ‚ΡŒ, Π΄Π°ΡŽΡ‰ΡƒΡŽ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ распознавания ΠΊΠ°ΠΊ Π½Π° ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅. На этот этап ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΉΡ‚ΠΈ мСсяцы(!) (Π² зависимости ΠΎΡ‚ доступных Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов)

А Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ OpenCV ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ всСм бСсплатный Π½Π°Π±ΠΎΡ€ пСрвоклассных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² машинного зрСния для Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ примСнСния — Π±Π΅Ρ€ΠΈ, Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ!)

ΠŸΠ Π•Π”Π£ΠŸΠ Π•Π–Π”Π•ΠΠ˜Π•:

  • Π”Π°Π»Π΅Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ тонкости установки OpenCV Π½Π° Raspbian, ΠΎΠ΄Π½Π°ΠΊΠΎ, инструкция Π²ΠΏΠΎΠ»Π½Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π° для всСх дистрибутивов сСмСйства Debian
  • установка OpenCV Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (2-3 часа), ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ вСсь ΠΏΡƒΡ‚ΡŒ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· — ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ с Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ мСста.
  • ΠŸΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Линукса.
  • Установку Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Raspberry Pi 3 Π½Π° чистый, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ проинсталлированный Raspbian Desktop послСднСй вСрсии. см. Установка Raspbian

ΠŸΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ΡΡ 7 Π“Π± свободного мСста Π½Π° Ρ„Π»Π΅ΡˆΠΊΠ΅.
Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ свободного мСста Π½Π° Ρ„Π»Π΅ΡˆΠΊΠ΅ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Ctrl + Alt + T) ΠΈ Π²Π²Π΅Π΄Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

df -h

Если мСста нСдостаточно, хотя объСм Ρ„Π»Π΅ΡˆΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ, Ρ‚ΠΎ стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° Π»ΠΈ файловая систСма Π½Π° вСсь доступный объСм (Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях дистрибутива это Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ дСлаСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — ΠΎΡ‚ апрСля 2018 Π³ΠΎΠ΄Π°).
Если систСма Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ новая, Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π» Π³Π»Π°Π²Π½Ρ‹Ρ… настроСк

sudo raspi-config

ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ β€œ1. Expand File System”, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠœΠ°Π»ΠΈΠ½Ρƒ

Если обновлСния Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ, Ρ‚ΠΎ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ произвСсти ΠΈΡ… сСйчас

sudo apt-get update -y && sudo apt-get upgrade -y

УстанавливаСм ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для сборки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· исходников

sudo apt-get install build-essential cmake pkg-config -y

Π—Π°Ρ‚Π΅ΠΌ устанавливаСм ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с графичСским ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev -y

Π”Π°Π»Π΅Π΅ Ρ‚ΠΎΠΆΠ΅ самоС для Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libxvidcore-dev libx264-dev -y

Π‘Ρ‚Π°Π²ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ компиляции модуля highgui для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ интСрфСйсов Π½Π° экран

sudo apt-get install libgtk2.0-dev -y

И напослСдок Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ ΠΈ компилятор Π€ΠΎΡ€Ρ‚Ρ€Π°Π½Π°:

sudo apt-get install libatlas-base-dev gfortran -y 

Π”Π°Π»Π΅Π΅ устанавливаСм ΠŸΠΈΡ‚ΠΎΠ½ (Π½Ρƒ ΠΈΠ»ΠΈ ΠŸΠ°ΠΉΡ‚ΠΎΠ½). Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ вСрсии 2,7 ΠΈ 3 ΡƒΠΆΠ΅ Π²ΡˆΠΈΡ‚Ρ‹ Π² Raspbian, ΠΎΠ΄Π½Π°ΠΊΠΎ понадобятся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:

sudo apt-get install python2.7-dev python3-dev -y 

Π”Π°Π»Π΅Π΅ для ΠŸΠΈΡ‚ΠΎΠ½Π° (Π½Ρƒ ΠΈΠ»ΠΈ ΠŸΠ°ΠΉΡ‚ΠΎΠ½Π°) Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ virtualenv Β Β ΠΈ virtualenvwrapper — это Π°Π½Π°Π»ΠΎΠ³ Ruby Version Manager’а Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠŸΠΈΡ‚ΠΎΠ½Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠŸΠΈΡ‚ΠΎΠ½ΠΎΠΌ Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ β€œΠ²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ окруТСнии” — Π½Π°Π±ΠΎΡ€Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… вСрсий (Π°Π½Π°Π»ΠΎΠ³ΠΈ гСмсСтов Π ΡƒΠ±ΠΈ) — это ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ нСсколькими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (ΠΈ особСнно Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ вСрсиями Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ): Ρ‡Ρ‚ΠΎΠ± ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π°, допустим Python 2.7 c OpenCV 3.1 достаточно Π±ΡƒΠ΄Π΅Ρ‚ ввСсти Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ всСго ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. УстанавливаСм:

sudo pip install virtualenv virtualenvwrapper 
sudo rm -rf ~/.cache/pip 
echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile 
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile 
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile 
source ~/.profile 

На этом зависимости установлСны.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ virtualenv. И Ρ‚ΡƒΡ‚ ΠΆΠ΅ стоит ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с вСрсиСй ΠŸΠΈΡ‚ΠΎΠ½Π° — Ссли Ρ†Π΅Π»ΡŒ — это созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с нуля, Ρ‚ΠΎΠ³Π΄Π° стоит Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ python3, Π° ΠΈΠ½Π°Ρ‡Π΅ — python2
Π’ процСссС историчСского развития языка Python Π²ΠΎ врСмя Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ вСрсии 2.7 Π±Ρ‹Π»ΠΎ написано ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. И Π΄Π°ΠΆΠ΅ сСйчас Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… 3.5 вСрсий Python 2.7 Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ  поддСрТиваСтся — ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅. Π’Π°ΠΊ ΠΆΠ΅ ΠΈ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠŸΠΈΡ‚ΠΎΠ½Π° — Π½Π΅ всС Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΊΠ°ΠΊ Π½Π° 2.7 Ρ‚Π°ΠΊ ΠΈ Π½Π° 3.5

mkvirtualenv cv -p python3 

УбСТдаСмся, Ρ‡Ρ‚ΠΎ сСйчас находимся Π² созданном Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ cv. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΡŽ β€œ(cv)” Π² консоли Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ строки: И Π½Π°ΠΊΠΎΠ½Π΅Ρ† устанавливаСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Numpy для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с массивами ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… размСрностСй

pip install numpy 

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ°ΠΏΠΊΡƒ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² домашнСй Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² Π½Π΅Π΅

cd ~ 
mkdir opencv 
cd opencv/ 

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌΡΡ с вСрсиСй OpenCV.
Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° вСрсии 3.0, старыС вСрсии 2.4.Ρ… ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ отличия. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ β€˜contrib’ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½ΠΎΠ²Ρ‹Ρ… вСрсий 3+.
ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π½Π° домашнюю страницу ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Ρ€Π°Π·Π΄Π΅Π» β€œReleases”. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π΄Π°Π»Π΅Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ (3+ Π° Π½Π΅ 2.4.Ρ….Ρ…) ΠΈ Π±Ρ€Π°Ρ‚ΡŒ Π½Π΅ самый ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ Ρ€Π΅Π»ΠΈΠ·: Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Π» Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ 3.4.0.
Π§Ρ‚ΠΎΠ± ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку для скачивания ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² ΠΎΡ„Ρ„. Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Open CV Π² Ρ€Π°Π·Π΄Π΅Π» Ρ€Π΅Π»ΠΈΠ·ΠΎΠ²: https://github.com/opencv/opencv/releases ΠΈ скопируСм ссылку Π½Π° zip-Π°Ρ€Ρ…ΠΈΠ² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ вСрсии: ВозвращаСмся ΠΊ Raspberry.
ΠΠ°Ρ…ΠΎΠ΄ΡΡΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ /opencv Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для скачивания исходников:

wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip 

эта ΠΊΠΎΠΌΠ°Π½Π΄Π° скачаСт Π°Ρ€Ρ…ΠΈΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ Π² opencv.zip

РаспакуСм скачанный Π°Ρ€Ρ…ΠΈΠ² ΠΈ послС ΡƒΠ΄Π°Π»ΠΈΠΌ Π΅Π³ΠΎ:

unzip opencv.zip 
rm opencv.zip 

Π‘ΠΊΠ°Ρ‡Π°Π΅ΠΌ ΠΈ распакуСм Ρ‚Ρƒ ΠΆΠ΅ Π²Π΅Ρ€ΡΠΈΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ contrib (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС — 3.4.0). Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² ΠΎΡ„Ρ„. рСпозиотрия: https://github.com/opencv/opencv_contrib/releases

wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.0.zip 
unzip opencv_contrib.zip 
rm opencv_contrib.zip 

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ (ΠΊΠΎΠΌΠ°Π½Π΄Π° ls ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ содСрТимоС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ):
Π•Ρ‰Π΅ Ρ€Π°Π· убСдимся, Ρ‡Ρ‚ΠΎ находимся Π² созданном Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ для OpenCV (Π³Π»Π°Π²Π° установки Python). Если ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π±Ρ‹Π»ΠΎ создано, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ workon cv
ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡƒ распакованного Π°Ρ€Ρ…ΠΈΠ²Π° OpenCV (вСрсия, ΠΈ соотвСтствСнно, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ):

cd opencv-3.4.0/ 

Π”Π°Π»Π΅Π΅ выполняСм ΡΠ΅Ρ€ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ для запуска процСсса сборки инсталлятора.
Π­Ρ‚ΠΎ 3 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ — послСдняя многострочная, Π² Π½Π΅ΠΉ ΠžΠ‘ΠžΠ‘ΠžΠ• Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅ΠΌ Β Π½Π° ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ распакованного Π°Ρ€Ρ…ΠΈΠ²Π° contrib:

mkdir build 
cd build 
cmake -D CMAKE_BUILD_TYPE=RELEASE \ 
 -D CMAKE_INSTALL_PREFIX=/usr/local \ 
 -D INSTALL_PYTHON_EXAMPLES=ON \ 
 -D OPENCV_EXTRA_MODULES_PATH=~/opencv/opencv_contrib-3.4.0/modules \ 
 -D BUILD_EXAMPLES=ON .. 

Π’ случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ сборки ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ всСго лишь Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ всС условия для компиляции инсталлятора OpenCV, поэтому ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΠΊΡ†ΠΈΡŽ Python3 (ΠΈΠ»ΠΈ Python2) ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅, Π² ΠΈΠ½ΠΎΠΌ случаС (ΠΈΠ»ΠΈ Π² случаС Ρ„Π΅ΠΉΠ»Π°) ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅:

  • Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎ врСмя сборки Π½Π΅ Π±Ρ‹Π»ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ (cv) — workon cv
  • Π•Ρ‰Π΅ возмоТная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ„Π΅ΠΉΠ»Π°: Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ contrib
  • На ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ случай ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ — Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ build распакованного Π°Ρ€Ρ…ΠΈΠ²Π° OpenCV Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ вСрсии
  • НапослСдок ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ вСрсии Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² основного ΠΈ contrib ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚

Π’ любом случаС Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ) Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ всС ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сборку Π·Π°Π½ΠΎΠ²ΠΎ Если сборка ΠΏΡ€ΠΎΡˆΠ»Π° Π³Π»Π°Π΄ΠΊΠΎ, Π·Π½Π°Ρ‡ΠΈΡ‚ всС условия для компиляции инсталлятора OpenCV ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½Ρ‹ ΠΈ ΠΌΡ‹ сСйчас собСрСм ΠΈΠ· исходников собствСнный свСТий ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ дистрибутив OpenCV с extra-модулями!
ЗапускаСм ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -j4 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ количСство задСйствованных ядСр процСссора, Ρƒ Raspberry Pi 3 ΠΈΡ… 4.
Π’ΠΠ˜ΠœΠΠΠ˜Π•!! Π­Ρ‚ΠΎΡ‚ процСсс Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС Π·Π°ΠΉΠΌΠ΅Ρ‚ порядка 1,5 часов Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ!!!

make -j4 

Если наблюдаСм ΠΊΡ€Π°Ρˆ Π² ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 5 ΠΌΠΈΠ½ΡƒΡ‚ компиляции, это Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… условиях, Ρ‚ΠΎ сбрасываСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈ запускаСм ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ядрС:

make clean 
make 

Π’ случаС успСха ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ — процСсс компиляции Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ Π½Π° 100% ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ собранный инсталлятор ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

sudo make install 
sudo ldconfig 

ВсС, OpenCV установлСн Π½Π° Raspberry! Для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π΅Π³ΠΎ использования Π΄Π΅Π»ΠΎ остаСтся Π·Π° ΠΌΠ°Π»Ρ‹ΠΌ — ΠΏΡ€ΠΎΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ симлинк Π½Π° OpenCV Π² созданноС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠŸΠΈΡ‚ΠΎΠ½Π° (cv). ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ — Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ OpenCV — это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠŸΠΈΡ‚ΠΎΠ½Π°, Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ:

  • ΠΊΠΎΠΌΠ°Π½Π΄Π° ls Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» содСрТимоС ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ
  • Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΠ°ΠΏΠΊΡƒ Python с вСрсиСй, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ собствСнно устанавливали OpenCV
ls /usr/local/lib/python3.5/site-packages/ 

Π’ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² сосСднСй ΠΏΠ°ΠΏΠΊΠ΅ dist-packages:

ls /usr/local/lib/python3.5/dist-packages/ 

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² эту Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ

cd /usr/local/lib/python3.5/site-packages/ 

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ — Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π΅ Π² ΠΊΠΎΠ΄Π΅ Python

sudo mv cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so 

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ окруТСния cv:

cd ~/.virtualenvs/cv/lib/python3.5/site-packages/ 

Боздадим здСсь симлинк на OpenCV:

ln -s /usr/local/lib/python3.5/site-packages/cv2.so cv2.so 

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ls:
ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°

source ~/.profile 
workon cv 
python 
import cv2 
cv2.__version__ 

Если всС сдСлано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ Π² консоли ΠŸΠΈΡ‚ΠΎΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° OpenCV импортируСтся Π±Π΅Π· ошибок
Π’ случаС ошибки импортирования Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ пСрСимСновывания Ρ„Π°ΠΉΠ»Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ созданиС симлинка Π½Π° Π½Π΅Π³ΠΎ (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ — .so), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ cv

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ сборки (ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° вСрсии):

rm -rf ~/opencv/opencv-3.4.0 ~/opencv/opencv_contrib-3.4.0

Установка OpenCV Π² Linux — Π‘Π»ΠΎΠ³ собаки Π”ΠΆΠ΅ΠΉΠΊΠ°

Для конкурса ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΎΡ‚Π΅Ρ…ΠΈΠΊΠΈ, Π³Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠΎΠΉ Π΄Ρ€ΡƒΠ³, собирал систСму распознавания ΠΎΠ±Ρ€Π°Π·ΠΎΠ². БистСма состояла ΠΈΠ· ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Raspberry Pi ΠΈ Π²Π΅Π±-ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, Π²ΠΈΠ΄Π΅ΠΎ с ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠ»Π° ΠΎΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎ ssh ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π»Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡ‚ΠΎΠΊ.
Π Π°Π±ΠΎΡ‚Π° вСдСлась ΠΏΠΎ ssh, запускал с ΠΊΠ»ΡŽΡ‡Π΅ΠΌ -X.
Π’ качСствС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π° OpenCV β€” 3.3.0, послС Π΄ΠΎΠ»Π³ΠΈΡ… поисков ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ Π±Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½ сайт  www.pyimagesearch.com посвящСнный Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡŽ Π»ΠΈΡ† Π½Π° Python. ΠŸΠΎΡ€Π°Π΄ΠΎΠ²Π°Π» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ созданный Adrian Rosebrock ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ назывался 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

mkvirtualenv cv -p python2

ПослС создания ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° устанавливаСм

Π”Π°Π»ΡŒΡˆΠ΅ ΠΈΠ΄ΡƒΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΎΠ±ΠΎΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² (с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·)

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ:

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 ..

Π‘ΠΊΡ€ΠΈΠΏΡ‚ выполняСтся Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя послС Ρ‡Π΅Π³ΠΎ Ссли Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ошибок ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ процСссу компиляции

УстанавливаСм ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ссылку Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ 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 Π² Ubuntu 18.04 Β» Tapen.ru

OpenCV (Open Source Computer Vision Library) – Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ зрСния выпущСнная ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD, свободная ΠΊΠ°ΠΊ для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΈ коммСрчСского использования. Π£ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ интСрфСйсы для C++, Python ΠΈ Java, поддСрТиваСтся Windows, Linux, MacOS, IOS ΠΈ Android. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

OpenCV ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΡƒΡŽ структуру, Π° это Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… статичСских ΠΈ динамичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΊΠ°ΠΊ выполняСтся установка OpenCV Π½Π° Ubuntu 18.04 ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ рСпозитория ΠΈΠ»ΠΈ исходников.

Установка OpenCV ΠΈΠ· рСпозитория Ubuntu

ΠŸΠ°ΠΊΠ΅Ρ‚ OpenCV доступСн Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… рСпозиториях Ubuntu 18.04. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² рСпозиториях находится вСрсия 3.2, Π° Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ 4.0. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ OpenCV Π² Ubuntu 18.04 вмСстС с Python 3, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

sudo apt update
sudo apt install python3-opencv

Π—Π°Ρ‚Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ cv2 Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ python ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ установка ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ:

python3 -c "

import cv2

print(cv2.__version__)"

3.2.0

Π’ Ubuntu 18.04 LTS ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ вСрсия Python – 3.6. Если Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ OpenCV с привязками Python 2, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ python-opencv.

Установка OpenCV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PIP

ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ pip позволяСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ python Π² систСму. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ сам ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€:

sudo apt install python-pip

Π—Π°Ρ‚Π΅ΠΌ остаСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ саму Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ:

sudo pip install opencv-python

ПослС этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠ°ΠΊ описано Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅.

Установка OpenCV ΠΈΠ· исходного ΠΊΠΎΠ΄Π°

Π’ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ pip находится Π½Π΅ самая новая вСрсия. На ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания ΡΡ‚Π°Ρ‚ΡŒΠΈ, самая новая вСрсия — 4.1.0. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Ρ‘, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ OpenCV ΠΈΠ· исходного ΠΊΠΎΠ΄Π°.

Π¨Π°Π³ 1. Установка зависимостСй

Π‘Π½Π°Ρ‡Π°Π»Π° установим зависимости:

sudo apt install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev

Π¨Π°Π³ 2. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄ΡƒΡ‚ сохранСны Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ OpenCV ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Ρ‘

mkdir ~/opencv_build
cd ~/opencv_build

Π—Π°Ρ‚Π΅ΠΌ скачайтС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. Π‘ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π΄Π²Π° рСпозитория — opencv ΠΈ opencv-contrib. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ зрСния ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ всСм, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ.

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

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ OpenCV ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΎΠ±ΠΎΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π² Π½ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

git checkout <нуТная-вСрсия>

Π¨Π°Π³ 3. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ сборкС

Когда Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, создайтС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ сборки ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π½Π΅Π΅:

cd ~/opencv_build/opencv
mkdir build
cd build

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ сборку OpenCV, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ CMake:

cmake -D CMAKE_BUILD_TYPE=RELEASE
-D CMAKE_INSTALL_PREFIX=/usr/local
-D INSTALL_C_EXAMPLES=ON
-D INSTALL_PYTHON_EXAMPLES=ON
-D OPENCV_GENERATE_PKGCONFIG=ON
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules
-D BUILD_EXAMPLES=ON ..

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сборка CMake Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π¨Π°Π³ 4. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ OpenCV

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„Π»Π°Π³ -j Π² соотвСтствии с вашим процСссором. Π£Π·Π½Π°Ρ‚ΡŒ число ядСр процСссора ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ nproc. НапримСр, Π² систСмС 4 ядра, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„Π»Π°Π³ –j4. НачнитС процСсс компиляции:

make

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя. Π­Ρ‚ΠΎ зависит ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вашСй систСмы. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:

Π¨Π°Π³ 5. Установка OpenCV

Когда процСсс компиляции Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, установитС OpenCV с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo make install

Π¨Π°Π³ 6. ВСрсия OpenCV

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΏΡ€ΠΎΡˆΠ»Π° Π»ΠΈ установка OpenCV ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ OpenCV:

pkg-config --modversion opencv4

Π’Ρ‹Π²ΠΎΠ΄:

4.0.1
python3 -c "

import cv2

print(cv2.__version__)"

Π’Ρ‹Π²ΠΎΠ΄:

4.0.1-dev

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли ΠΊΠ°ΠΊ выполняСтся установка OpenCV Π² Ubuntu 18.04 ΠΈΠ· рСпозитория ΠΈΠ»ΠΈ исходных ΠΊΠΎΠ΄ΠΎΠ². Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ°ΠΌΡƒΡŽ ΡΠ²Π΅ΠΆΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ использованию Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ доступно Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС.

2. OpenCV шаг Π·Π° шагом. Установка. / ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ΅ Π·Ρ€Π΅Π½ΠΈΠ΅ / RoboCraft. Π ΠΎΠ±ΠΎΡ‚Ρ‹? Π­Ρ‚ΠΎ просто!

1. OpenCV шаг Π·Π° шагом. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
2. OpenCV шаг Π·Π° шагом. Установка.
Установка OpenCV ΠΏΠΎΠ΄ OC Linux

Π‘ΠΊΠ°Ρ‡Π°Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π΅Ρ‘ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

Запустив инсталлятор Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ установки (ΠΌΠΎΠΆΠ½ΠΎ Π² Program Files, ΠΊΠΎΡ€Π΅Π½ΡŒ диска ΠΈΠ»ΠΈ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΡƒΠ΄ΠΎΠ±Π½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ).

ПослС установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ срСду для использования OpenCV.

для VC++ 6 ΠΈ вСрсии OpenCV 1.0-1.1:

Tools->Options, Π²ΠΊΠ»Π°Π΄ΠΊΠ° Directories

(для VS C++ 2005/2008 Tools->Options->Projects and Solutions -> VC++ Directories)

β€” ΠΈΠ· списка Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Include FilesΒ» (Β«ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹Β»).

ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ New ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ строчки:

"C:\Program Files\OpenCV\cv\include"
"C:\Program Files\OpenCV\cxcore\include"
"C:\Program Files\OpenCV\otherlibs\highgui"
"C:\Program Files\OpenCV\cvaux\include"
"C:\Program Files\OpenCV\otherlibs\cvcam\include"
"C:\Program Files\OpenCV\ml\include"
"C:\Program Files\OpenCV\otherlibs\_graphics\include"
"C:\Program Files\OpenCV\otherlibs\_graphics\include\jasper"

β€” Π”Π°Π»Π΅Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π² спискС Β«Library filesΒ» (Β«Π€Π°ΠΉΠ»Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΒ») ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅:

"C:\Program Files\OpenCV\lib"
"C:\Program Files\OpenCV\otherlibs\_graphics\lib"

β€” Π”Π°Π»Π΅Π΅, Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ спискС Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Source FilesΒ» (Β«Π€Π°ΠΉΠ»Ρ‹ исходного ΠΊΠΎΠ΄Π°Β») ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅:

"C:\Program Files\OpenCV\cv\src"
"C:\Program Files\OpenCV\cxcore\src"
"C:\Program Files\OpenCV\cvaux\src"
"C:\Program Files\OpenCV\otherlibs\highgui"
"C:\Program Files\OpenCV\otherlibs\cvcam\src\windows"
"C:\Program Files\OpenCV\ml\src"
"C:\Program Files\OpenCV\otherlibs\_graphics\src"

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с использованиСм OpenCV Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

β€” Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅: Project->Properties (ΠŸΡ€ΠΎΠ΅ΠΊΡ‚->Бвойства).

β€” Π”Π°Π»Π΅Π΅ Configuration Properties->Linker->Input

β€” И добавляйтС ΠΈΠΌΠ΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π² ΠΏΠΎΠ»Π΅ Β«Additional DependenciesΒ» (Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости):
cxcore.lib cv.lib highgui.lib cvaux.lib cvcam.lib

Π’Π°ΠΊ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ с dll-Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² PATH

C:\Program Files\OpenCV\bin

для VC++ 2008 ΠΈ вСрсии OpenCV 2.0:

Для 2-ΠΉ вСрсии OpenCV соотвСтствСнно ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚ΠΈ

include:

c:\DevTools\OpenCV2.0\include\opencv\

library:

c:\DevTools\OpenCV2.0\lib\Release

Source files:

c:\DevTools\OpenCV2.0\src\cv\
c:\DevTools\OpenCV2.0\src\cvaux\
c:\DevTools\OpenCV2.0\src\cxcore\
c:\DevTools\OpenCV2.0\src\highgui\
c:\DevTools\OpenCV2.0\src\ml\

установка Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии OpenCV Π±ΠΎΠ»Π΅Π΅ заковыристая Π·Π°Π΄Π°Ρ‡Π°:

ΠΊΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ β€” Π² ΠΏΡƒΡ‚ΠΈ прописываСтся ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Release

c:\DevTools\OpenCV2.0\lib\Release

ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π΅ сущСствуСт.

Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

1. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Cmake для windows ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

2. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ OpenCV

здСсь: c:\DevTools\OpenCV2.0

ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

cmake . -G "Visual Studio 9 2008" 

Π“Π΄Π΅ Β«Visual Studio 9 2008Β» Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° Π’Π°Ρˆ компилятор.

Cmake сгСнСрируСт solution-Ρ„Π°ΠΉΠ» (содСрТащий всС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹) для Visual Studio.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ build с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ β€œRelease”-вСрсии.

Π”Π°Π»Π΅Π΅ добавляСм ΠΏΡƒΡ‚ΠΈ:

Tools–>Options–>Projects–>VC++ Directories–>Include files

c:\DevTools\OpenCV2.0\include\opencv

Tools–>Options–>Projects–>VC++ Directories–>Library files

c:\DevTools\OpenCV2.0\lib\Release

Tools–>Options–>Projects–>VC++ Directories–>Source files:

c:\DevTools\OpenCV2.0\src\cv\
c:\DevTools\OpenCV2.0\src\cvaux\
c:\DevTools\OpenCV2.0\src\cxcore\
c:\DevTools\OpenCV2.0\src\highgui\
c:\DevTools\OpenCV2.0\src\ml\

ΠŸΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, добавляСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ

Β«Project–>Properties–>Linker->Input–>Additional dependenciesΒ»
cxcore200.lib cv200.lib highgui200.lib cvaux200.lib (ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡ‚Π΅ cvcam здСсь ΡƒΠΆΠ΅ Π½Π΅Ρ‚.)

для OpenCV 2.1

установка послСднСй ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии OpenCV 2.1 Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° устновкС вСрсии 2.0 ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΡ‰Π΅, Ρ‚.ΠΊ. Ρƒ Π½Π΅Ρ‘ ΡƒΠΆΠ΅ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ ΠΈΠ΄ΡƒΡ‚ скомпилированныС lib-Ρ„Π°ΠΉΠ»Ρ‹

OpenCV2.1\lib\

Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ
cxcore210.lib cv210.lib highgui210.lib cvaux210.lib

Установка OpenCV 2.3.1
OpenCV β€” установка 2.3.1

Установка OpenCV ΠΏΠΎΠ΄ OC Linux
Установка OpenCV ΠΏΠΎΠ΄ OC Linux

Π£Ρ„! Π’ΠΎΡ‚ ΠΈ всё β€” вашС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мСсто Π³ΠΎΡ‚ΠΎΠ²ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹. И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ πŸ™‚

Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π»Π΅Π΅: 3. OpenCV шаг Π·Π° шагом. Hello World.

Бсылки
opencv.willowgarage.com/wiki/InstallGuide
ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ мСста для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с OpenCV Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ MS Visual C++ 2008

OpenCV: установка Π² Linux

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ руководство: ИспользованиС OpenCV с gcc ΠΈ CMake

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги Π±Ρ‹Π»ΠΈ протСстированы для Ubuntu 10.04, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ дистрибутивами.

НСобходимыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹

  • GCC 4.4.x ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅
  • CMake 2.8.7 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • Git
  • GTK + 2.x ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅ ΠΈ Numpy 1.5 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° (python-dev, python-numpy)
  • ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ffmpeg ΠΈΠ»ΠΈ libav: libavcodec-dev, libavformat-dev, libswscale-dev
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] libtbb2 libtbb-dev
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] libdc1394 2.Ρ…
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] CUDA Toolkit 6.5 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Synaptic Manager:

[компилятор] sudo apt-get install build-essential

[ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

[Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° OpenCV

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ послСднюю ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ OpenCV ΠΈΠ»ΠΈ Π²Π·ΡΡ‚ΡŒ послСдний снимок ΠΈΠ· нашСго рСпозитория Git.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ послСднСй ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии OpenCV

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΠΎΠ³ΠΎ OpenCV ΠΈΠ· рСпозитория Git

ЗапуститС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Git ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ OpenCV. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ· рСпозитория OpenCV contrib, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ.

НапримСр,

cd ~ /

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

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ OpenCV Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ с использованиСм CMake

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΊΠ°ΠΊ , ΠΊΡƒΠ΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ сгСнСрированныС Ρ„Π°ΠΉΠ»Ρ‹ Makefile, Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Π³ΠΎ.

    НапримСр,

    cd ~ / opencv

    mkdir build

    cd build

  2. Настройка. ЗапуститС cmake [<Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹>] <ΠΏΡƒΡ‚ΡŒ ΠΊ исходному ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ OpenCV>

    НапримСр,

    cmake -D CMAKE_BUILD_TYPE = Release -D CMAKE_INSTALL_PREFIX = / usr / local ..

    ΠΈΠ»ΠΈ cmake-gui

    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ исходному ΠΊΠΎΠ΄Ρƒ OpenCV, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ / главная / ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / opencv
    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ , e.Π³. / главная / ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / opencv / сборка
    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
    • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ: Β«ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΒ»
    • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ: Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ»
    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ cmake -DCMAKE_BUILD_TYPE = Release -DCMAKE_INSTALL_PREFIX = / usr / local .. , Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² послС -D, Ссли ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.
  3. ОписаниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
    • Π’ΠΈΠΏ сборки: CMAKE_BUILD_TYPE = Release \ Debug
    • для сборки с модулями ΠΈΠ· opencv_contrib установитС OPENCV_EXTRA_MODULES_PATH Π² <ΠΏΡƒΡ‚ΡŒ ΠΊ opencv_contrib / modules />
    • Π½Π°Π±ΠΎΡ€ BUILD_DOCS для ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ
    • установитС BUILD_EXAMPLES для сборки всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²
  4. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Π‘Π±ΠΎΡ€ΠΊΠ° python.УстановитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ python:
    • PYTHON2 (3) _EXECUTABLE = <ΠΏΡƒΡ‚ΡŒ ΠΊ python>
    • PYTHON_INCLUDE_DIR = / usr / include / python <вСрсия>
    • PYTHON_INCLUDE_DIR2 = / usr / include / x86_64-linux-gnu / python <вСрсия>
    • PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython.so
    • PYTHON2 (3) _NUMPY_INCLUDE_DIRS = / usr / lib / python <вСрсия> / dist-packages / numpy / core / include /
  5. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Π‘Π±ΠΎΡ€ΠΊΠ° java.
    • НСустановлСнный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: BUILD_SHARED_LIBS
    • Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ BUILD_EXAMPLES, BUILD_TESTS, BUILD_PERF_TESTS — ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ статичСски связаны с OpenCV ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ памяти.
  6. Π‘Π±ΠΎΡ€ΠΊΠ°. Из ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сборки Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ make , рСкомСндуСтся Π΄Π΅Π»Π°Ρ‚ΡŒ это Π² нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²

    НапримСр,

    make -j7 # запускаСт 7 Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ

  7. [ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ] Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ докумСнтация. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈ запуститС make с Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ «doxygen»

    НапримСр,

    cd ~ / opencv / build / doc /

    make -j7 doxygen

  8. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сборки
  9. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Запуск тСстов

    НапримСр,

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

    • установитС для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды OPENCV_TEST_DATA_PATH Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ <ΠΏΡƒΡ‚ΡŒ ΠΊ opencv_extra / testdata>.
    • выполняСт тСсты ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сборки.

    НапримСр,

    / bin / opencv_test_core

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Если Ρ€Π°Π·ΠΌΠ΅Ρ€ созданной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ являСтся критичСской ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС сборки Android), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ install / strip для получСния минимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. ВСрсия с Ρ€Π°Π·Π΄Π΅Π»ΠΊΠΎΠΉ Π½Π° каТСтся Π²Π΄Π²ΠΎΠ΅ мСньшС.Однако ΠΌΡ‹ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это, Ссли эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ значСния.

.

OpenCV: установка Π² Linux

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ руководство: ИспользованиС OpenCV с gcc ΠΈ CMake

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги Π±Ρ‹Π»ΠΈ протСстированы для Ubuntu 10.04, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ дистрибутивами.

НСобходимыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹

  • GCC 4.4.x ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅
  • CMake 2.8.7 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • Git
  • GTK + 2.x ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅ ΠΈ Numpy 1.5 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° (python-dev, python-numpy)
  • ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ffmpeg ΠΈΠ»ΠΈ libav: libavcodec-dev, libavformat-dev, libswscale-dev
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] libtbb2 libtbb-dev
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] libdc1394 2.Ρ…
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] CUDA Toolkit 6.5 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Synaptic Manager:

[компилятор] sudo apt-get install build-essential

[ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

[Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° OpenCV

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ послСднюю ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ OpenCV ΠΈΠ»ΠΈ Π²Π·ΡΡ‚ΡŒ послСдний снимок ΠΈΠ· нашСго рСпозитория Git.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ послСднСй ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии OpenCV

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΠΎΠ³ΠΎ OpenCV ΠΈΠ· рСпозитория Git

ЗапуститС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Git ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ OpenCV. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ· рСпозитория OpenCV contrib, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ.

НапримСр,

cd ~ /

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

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ OpenCV Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ с использованиСм CMake

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΊΠ°ΠΊ , ΠΊΡƒΠ΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ сгСнСрированныС Ρ„Π°ΠΉΠ»Ρ‹ Makefile, Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Π³ΠΎ.

    НапримСр,

    cd ~ / opencv

    mkdir build

    cd build

  2. Настройка. ЗапуститС cmake [<Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹>] <ΠΏΡƒΡ‚ΡŒ ΠΊ исходному ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ OpenCV>

    НапримСр,

    cmake -D CMAKE_BUILD_TYPE = Release -D CMAKE_INSTALL_PREFIX = / usr / local ..

    ΠΈΠ»ΠΈ cmake-gui

    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ исходному ΠΊΠΎΠ΄Ρƒ OpenCV, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ / главная / ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / opencv
    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ , e.Π³. / главная / ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / opencv / сборка
    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
    • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ: Β«ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΒ»
    • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ: Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ»
    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ cmake -DCMAKE_BUILD_TYPE = Release -DCMAKE_INSTALL_PREFIX = / usr / local .. , Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² послС -D, Ссли ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.
  3. ОписаниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
    • Π’ΠΈΠΏ сборки: CMAKE_BUILD_TYPE = Release \ Debug
    • для сборки с модулями ΠΈΠ· opencv_contrib установитС OPENCV_EXTRA_MODULES_PATH Π² <ΠΏΡƒΡ‚ΡŒ ΠΊ opencv_contrib / modules />
    • Π½Π°Π±ΠΎΡ€ BUILD_DOCS для ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ
    • установитС BUILD_EXAMPLES для сборки всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²
  4. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Π‘Π±ΠΎΡ€ΠΊΠ° python.УстановитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ python:
    • PYTHON2 (3) _EXECUTABLE = <ΠΏΡƒΡ‚ΡŒ ΠΊ python>
    • PYTHON_INCLUDE_DIR = / usr / include / python <вСрсия>
    • PYTHON_INCLUDE_DIR2 = / usr / include / x86_64-linux-gnu / python <вСрсия>
    • PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython.so
    • PYTHON2 (3) _NUMPY_INCLUDE_DIRS = / usr / lib / python <вСрсия> / dist-packages / numpy / core / include /
  5. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Π‘Π±ΠΎΡ€ΠΊΠ° java.
    • НСустановлСнный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: BUILD_SHARED_LIBS
    • Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ BUILD_EXAMPLES, BUILD_TESTS, BUILD_PERF_TESTS — ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ статичСски связаны с OpenCV ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ памяти.
  6. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ pkg-config
    • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ этот Ρ„Π»Π°Π³ ΠΏΡ€ΠΈ запускС CMake: -DOPENCV_GENERATE_PKGCONFIG = ON
    • Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» .pc для pkg-config ΠΈ установит Π΅Π³ΠΎ.
    • ПолСзно, Ссли CMake Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… OpenCV
    • УстановлСн ΠΊΠ°ΠΊ opencv4 , использованиС: pkg-config --cflags --libs opencv4
  7. Π‘Π±ΠΎΡ€ΠΊΠ°.Из ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сборки Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ make , рСкомСндуСтся Π΄Π΅Π»Π°Ρ‚ΡŒ это Π² нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²

    НапримСр,

    make -j7 # запускаСт 7 Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ

  8. [ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ] Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ докумСнтация. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈ запуститС make с Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ «doxygen»

    НапримСр,

    cd ~ / opencv / build / doc /

    make -j7 doxygen

  9. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сборки
  10. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Запуск тСстов

    НапримСр,

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

    • установитС для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды OPENCV_TEST_DATA_PATH Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ <ΠΏΡƒΡ‚ΡŒ ΠΊ opencv_extra / testdata>.
    • выполняСт тСсты ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сборки.

    НапримСр,

    / bin / opencv_test_core

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Если Ρ€Π°Π·ΠΌΠ΅Ρ€ созданной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ являСтся критичСской ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС сборки Android), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ install / strip, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ минимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€. ВСрсия Π±Π΅Π· ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ каТСтся Π²Π΄Π²ΠΎΠ΅ мСньшС.Однако ΠΌΡ‹ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это, Ссли эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ значСния.

.

OpenCV: установка Π² Linux

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги Π±Ρ‹Π»ΠΈ протСстированы для Ubuntu 10.04, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ дистрибутивами.

НСобходимыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹

  • GCC 4.4.x ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅
  • CMake 2.8.7 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • Git
  • GTK + 2.x ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅ ΠΈ Numpy 1.5 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° (python-dev, python-numpy)
  • ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ffmpeg ΠΈΠ»ΠΈ libav: libavcodec-dev, libavformat-dev, libswscale-dev
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] libtbb2 libtbb-dev
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] libdc1394 2.Ρ…
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
  • [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] CUDA Toolkit 6.5 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Synaptic Manager:

[компилятор] sudo apt-get install build-essential

[ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

[Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ исходного ΠΊΠΎΠ΄Π° OpenCV

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ послСднюю ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ OpenCV ΠΈΠ»ΠΈ Π²Π·ΡΡ‚ΡŒ послСдний снимок ΠΈΠ· нашСго рСпозитория Git.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ послСднСй ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ вСрсии OpenCV

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ новСйшСго OpenCV ΠΈΠ· рСпозитория Git

ЗапуститС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Git ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ OpenCV. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ· рСпозитория OpenCV contrib, Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ.

НапримСр,

cd ~ /

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

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ OpenCV Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ с использованиСм CMake

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΊΠ°ΠΊ , ΠΊΡƒΠ΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ сгСнСрированныС Ρ„Π°ΠΉΠ»Ρ‹ Makefile, Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅Π³ΠΎ.

    НапримСр,

    cd ~ / opencv

    mkdir build

    cd build

  2. Настройка. ЗапуститС cmake [<Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹>] <ΠΏΡƒΡ‚ΡŒ ΠΊ исходному ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ OpenCV>

    НапримСр,

    cmake -D CMAKE_BUILD_TYPE = Release -D CMAKE_INSTALL_PREFIX = / usr / local ..

    ΠΈΠ»ΠΈ cmake-gui

    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ исходному ΠΊΠΎΠ΄Ρƒ OpenCV, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ / главная / ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / opencv
    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ , e.Π³. / главная / ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ / opencv / сборка
    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹
    • запуск: Β«ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒΒ»
    • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ: Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΒ»
    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ cmake -DCMAKE_BUILD_TYPE = Release -DCMAKE_INSTALL_PREFIX = / usr / local .. Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² послС -D, Ссли ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.
  3. ОписаниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²
    • Π’ΠΈΠΏ сборки: CMAKE_BUILD_TYPE = Release \ Debug
    • для сборки с модулями ΠΈΠ· opencv_contrib установитС OPENCV_EXTRA_MODULES_PATH Π² <ΠΏΡƒΡ‚ΡŒ ΠΊ opencv_contrib / modules />
    • ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ BUILD_DOCS для ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ
    • ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ BUILD_EXAMPLES для сборки всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²
  4. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Π‘Π±ΠΎΡ€ΠΊΠ° python.УстановитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ python:
    • PYTHON2 (3) _EXECUTABLE = <ΠΏΡƒΡ‚ΡŒ ΠΊ python>
    • PYTHON_INCLUDE_DIR = / usr / include / python <вСрсия>
    • PYTHON_INCLUDE_DIR2 = / usr / include / x86_64-linux-gnu / python <вСрсия>
    • PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython.so
    • PYTHON2 (3) _NUMPY_INCLUDE_DIRS = / usr / lib / python <вСрсия> / dist-packages / numpy / core / include /
  5. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Π‘Π±ΠΎΡ€ΠΊΠ° java.
    • НСустановлСнный ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€: BUILD_SHARED_LIBS
    • Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ BUILD_EXAMPLES, BUILD_TESTS, BUILD_PERF_TESTS — всС ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ статичСски связаны с OpenCV ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ памяти.
  6. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ pkg-config
    • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ этот Ρ„Π»Π°Π³ ΠΏΡ€ΠΈ запускС CMake: -DOPENCV_GENERATE_PKGCONFIG = ON
    • Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» .pc для pkg-config ΠΈ установит Π΅Π³ΠΎ.
    • ПолСзно, Ссли CMake Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… OpenCV
    • УстановлСн ΠΊΠ°ΠΊ opencv4 , использованиС: pkg-config --cflags --libs opencv4
  7. Π‘Π±ΠΎΡ€ΠΊΠ°.Из ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сборки Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ make , рСкомСндуСтся Π΄Π΅Π»Π°Ρ‚ΡŒ это Π² нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²

    НапримСр,

    make -j7 # запускаСт 7 Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ

  8. [ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ] Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ докумСнтация. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈ запуститС make с Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ «doxygen»

    НапримСр,

    cd ~ / opencv / build / doc /

    make -j7 doxygen

  9. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сборки
  10. [Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ] Запуск тСстов

    НапримСр,

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

    • установитС для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ срСды OPENCV_TEST_DATA_PATH Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ <ΠΏΡƒΡ‚ΡŒ ΠΊ opencv_extra / testdata>.
    • выполняСт тСсты ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сборки.

    НапримСр,

    / bin / opencv_test_core

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Если Ρ€Π°Π·ΠΌΠ΅Ρ€ созданной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ являСтся критичСской ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² случаС сборки Android), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ install / strip для получСния минимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. ВСрсия с Ρ€Π°Π·Π±ΠΎΡ€ΠΊΠΎΠΉ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ выглядит Π²Π΄Π²ΠΎΠ΅ мСньшС.Однако ΠΌΡ‹ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это, Ссли эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ значСния.

.

OpenCV: ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ OpenCV-Python Π² Ubuntu

Goals

Π’ этом руководствС ΠΌΡ‹ научимся Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ OpenCV-Python Π² систСмС Ubuntu. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π½ΠΈΠΆΠ΅ шаги протСстированы для Ubuntu 16.04 ΠΈ 18.04 (ΠΎΠ±Π° 64-Π±ΠΈΡ‚Π½Ρ‹Ρ…).

OpenCV-Python ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² Ubuntu двумя способами:

  • Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², доступных Π² рСпозиториях Ubuntu
  • Π‘ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· исходников. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΈ Ρ‚ΠΎ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ — Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.OpenCV-Python Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Numpy (Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ зависимостям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅). Но Π² этом руководствС ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Matplotlib для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… простых ΠΈ приятных Ρ†Π΅Π»Π΅ΠΉ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² (Ρ‡Ρ‚ΠΎ ΠΌΠ½Π΅ каТСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с OpenCV). Matplotlib Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ IPython , ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся.

Установка OpenCV-Python ΠΈΠ· Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈ использовании Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для программирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ OpenCV.

УстановитС ΠΏΠ°ΠΊΠ΅Ρ‚ python-opencv с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ (ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ root).

$ sudo apt-get install python-opencv

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Python IDLE (ΠΈΠ»ΠΈ IPython) ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄Ρ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Python.

import cv2 as cv

print (cv .__ version__)

Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π±Π΅Π· ошибок, поздравляСм !!! Π’Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ установили OpenCV-Python.

Π­Ρ‚ΠΎ довольно просто. Но с этим Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Apt ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ всСгда ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ OpenCV.НапримСр, Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ написания этого руководства Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ apt содСрТал 2.4.8, Π° послСдняя вСрсия OpenCV — 3.x. Π§Ρ‚ΠΎ касаСтся Python API, послСдняя вСрсия всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ послСдниС исправлСния ошибок.

Π˜Ρ‚Π°ΠΊ, для получСния послСдних исходных ΠΊΠΎΠ΄ΠΎΠ² ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ отдаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ компиляции ΠΈΠ· исходного ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΆΠ΅ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Ссли Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ внСсти свой Π²ΠΊΠ»Π°Π΄ Π² OpenCV, Π²Π°ΠΌ это понадобится.

Π‘Π±ΠΎΡ€ΠΊΠ° OpenCV ΠΈΠ· исходников

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΈΠ· исходных тСкстов ΠΏΠΎΠ½Π°Ρ‡Π°Π»Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТной, Π½ΠΎ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΌ это удастся, Π² этом Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного.

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ установим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависимости. НСкоторыС ΠΈΠ· Π½ΠΈΡ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ — Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости, Ссли Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости сборки

Нам Π½ΡƒΠΆΠ½Ρ‹ CMake для настройки установки, GCC для компиляции, Python-devel ΠΈ Numpy для создания привязок Python ΠΈ Ρ‚. Π”.

sudo apt-get install cmake

sudo apt-get install gcc g ++

для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ python2:

sudo apt-get install python-dev python-numpy

для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ python3:

sudo apt-get install python3-dev python3-numpy

Π”Π°Π»Π΅Π΅ Π½Π°ΠΌ понадобится ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GTK для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ графичСского интСрфСйса, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ (v4l), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° (ffmpeg, gstreamer) ΠΈ Ρ‚. Π”.

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ gtk2:

sudo apt-get install libgtk2 .0-dev

для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ gtk3:

sudo apt-get install libgtk-3-dev

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… зависимостСй достаточно для установки OpenCV Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ с Ubuntu. Но Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ зависимости.Бписок Ρ‚Π°ΠΊΠΈΡ… Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… зависимостСй ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈΠ±ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Π»ΠΈΠ±ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, ваш Π·Π²ΠΎΠ½ΠΎΠΊ πŸ™‚

OpenCV поставляСтся с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ PNG, JPEG, JPEG2000, TIFF, WebP ΠΈ Ρ‚. Π”. Но ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ послСдниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для систСмных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ этих Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

sudo apt-get install libpng-dev

sudo apt-get install libjpeg-dev

sudo apt-get install libopenexr-dev

sudo apt-get install libtiff-dev

sudo apt-get install libwebp-dev

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ubuntu 16.04 Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ libjasper-dev , Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ систСмного уровня для Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JPEG2000.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° OpenCV

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ послСдний исходный ΠΊΠΎΠ΄ ΠΈΠ· рСпозитория OpenCV GitHub. (Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ внСсти свой Π²ΠΊΠ»Π°Π΄ Π² OpenCV, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ это. Для этого Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Git )

$ sudo apt-get install git

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

Π‘ΡƒΠ΄Π΅Ρ‚ создана ΠΏΠ°ΠΏΠΊΠ° Β«opencvΒ» Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя Π² зависимости ΠΎΡ‚ вашСго ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСния.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Β«opencvΒ». Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Β«buildΒ» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ Π½Π΅ΠΉ.

Настройка ΠΈ установка

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости, Π΄Π°Π²Π°ΠΉΡ‚Π΅ установим OpenCV. Установка Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ настроСна с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CMake. Он опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны, ΠΏΡƒΡ‚ΡŒ установки, ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ скомпилирована докумСнтация ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ Ρ‚. Π”. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ этой Ρ€Π°Π±ΠΎΡ‚Ρ‹ выполняСтся автоматичСски с Ρ…ΠΎΡ€ΠΎΡˆΠΎ настроСнными ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Команда Π½ΠΈΠΆΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для настройки сборки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenCV (выполняСтся ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ сборки):

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ OpenCV ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ сборки Β«ReleaseΒ» ΠΈ ΠΏΡƒΡ‚ΡŒ установки Β«/ usr / localΒ». Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… CMake см. Π’ руководствС ΠΏΠΎ компиляции OpenCV C ++:

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ эти строки Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ CMake (ΠΎΠ½ΠΈ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Python Π½Π°ΠΉΠ΄Π΅Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ):

— Python 2:

— Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€: / usr / bin / python2.7 (вСрсия 2.7.6)

— Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ: /usr/lib/x86_64-linux-gnu/libpython2.7.so (вСрсия 2.7.6)

— numpy: /usr/lib/python2.7/ dist-packages / numpy / core / include (ver 1.8.2)

— ΠΏΡƒΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²: lib / python2.7 / dist-packages

— Python 3:

— Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€: / usr /bin/python3.4 (вСрсия 3.4.3)

— Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ: / usr / lib / x86_64-linux-gnu / libpython3.4m.so (вСрсия 3.4.3)

— numpy: / usr / lib / python3 / dist-packages / numpy / core / include (ver 1.8.2)

— ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ: lib / python3.4 / dist-packages

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ собираСтС Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«makeΒ» ΠΈ устанавливаСтС ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Β«make installΒ».

$ make

# sudo make install

Установка Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°. ВсС Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΏΠΊΡƒ Β«/ usr / local /Β». ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Β«cv2Β».

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ cv2 ΠΊΠ°ΠΊ cv

print (cv.__вСрсия__)

.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *