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
ΠΠ°ΠΊΠ΅Ρ OpenCV Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Ubuntu 18.04.Β ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ Π²Π΅ΡΡΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ β 3.2, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ.
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenCV ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Ubuntu 18.04, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ OpenCV, Π²Π²Π΅Π΄Ρ:
sudo apt update sudo apt install python3-opencv
Β
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π±ΡΠ΄ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° OpenCV.
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ 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.Β ΠΠ½ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ ΡΠ±ΠΎΡΠΊΠΈ.
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ OpenCV ΠΈΠ· ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΡΠ°Π½ΠΎΠ²ΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
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
Β
- ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° 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>
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° 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 Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅:
- ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ OpenCV. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π°Π³Β
-j
Β Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ.Β ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π΅Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π΅Π³ΠΎ, Π½Π°Π±ΡΠ°Π²Βnproc
.Β ΠΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ 8 ΡΠ΄Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΒ ΡΠ»Π°Π³Β-j8
. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠ΅, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.Β ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenCV. ΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ OpenCV Ρ ΠΏΠΎΠΌΠΎΡΡΡ:
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ OpenCV. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΏΠ΅ΡΠ½ΠΎ Π»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ OpenCV, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΡ OpenCV:
pkg-config --modversion opencv
Β
ΠΡΠ²ΠΎΠ΄
ΠΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π²Π°ΠΌ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ OpenCV Π½Π° Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ Ubuntu 18.04.Β ΠΡΠ±ΡΠ°Π½Π½ΡΠΉ Π²Π°ΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ.Β Π₯ΠΎΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ubuntu ΠΏΡΠΎΡΠ΅, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ OpenCV ΠΈΠ· ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π΄Π°Π΅Ρ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΠΈ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ OpenCV.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ·ΡΠ²Ρ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΈΠΆΠ΅.
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+Enter.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Open CV (Linux)
ΠΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python ΡΠΏΡΠΎΡΠ°ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΌ Π·ΡΠ΅Π½ΠΈΠ΅ΠΌ (ΡΠ°Π·Π΄Π΅Π» ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ — Machine Learning).
ΠΠ»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π»ΠΈΡΠ° (ΠΊΠ»Π°ΡΡΠΈΠΊΠ°), Π΅ΡΠ»ΠΈ Π± Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ OpenCV:
- ΠΠ΅ΡΠ²ΠΎ-Π½Π°ΠΏΠ΅ΡΠ²ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅ΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ Π»ΠΈΡΠ°ΠΌΠΈ Π»ΡΠ΄Π΅ΠΉ ΠΈ Π±Π΅Π· Π½ΠΈΡ
- Π‘ΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π½Π°Π±ΠΎΡ — ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅: ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π»ΠΈ Π½Π° Π½Π΅ΠΌ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ΅ Π»ΠΈΡΠΎ.
- Π Π°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π½Π° ΠΎΠ±ΡΡΠ°ΡΡΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ Π²ΡΠ±ΠΎΡΠΊΡ.
- ΠΠ°Π»Π΅Π΅ ΠΏΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΠΈ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ (βΠ΄Π΅ΡΠ΅Π²ΠΎβ, βΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ Π»Π΅Ρβ, βΠ³ΡΠ°Π΄ΠΈΠ΅Π½ΡΠ½ΡΠΉ ΡΠΏΡΡΠΊβ, βΠ±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ ΡΠΎΡΠ΅Π΄ΠΈβ ΠΈ Ρ.Π΄.) ΡΠΎΡΡΠ°Π²ΠΈΡΡ Π½Π΅ΠΉΡΠΎΡΠ΅ΡΡ, Π΄Π°ΡΡΡΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΊΠ°ΠΊ Π½Π° ΠΎΠ±ΡΡΠ°ΡΡΠ΅ΠΉ, ΡΠ°ΠΊ ΠΈ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ Π²ΡΠ±ΠΎΡΠΊΠ΅. ΠΠ° ΡΡΠΎΡ ΡΡΠ°ΠΏ ΠΌΠΎΠ³ΡΡ ΡΠΉΡΠΈ ΠΌΠ΅ΡΡΡΡ(!) (Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ²)
Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ 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 | sudo apt-get update && sudo apt-get upgrade |
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ opencvΒ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΊ Π½Π΅ΠΌΡ:
1 | cd ~ |
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Python
1 | wget https://bootstrap.pypa.io/get-pip.py |
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈ Π΄Π»Ρ Python, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ, Π΅ΡΠ»ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ python 2.7 ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
1 | sudo pip install virtualenv virtualenvwrapper |
ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ» ~/profile
1 | #virtualenv and virtualenvwrapper |
ΠΠ΅ΡΠ΅Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΠΈ ΠΈΠ· profile
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ:
1 | mkvirtualenv cv -p python2 |
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ
ΠΠ°Π»ΡΡΠ΅ ΠΈΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΎΠ±ΠΎΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² (Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π±Π΅Π·)
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
1 | cd ~/opencv-3.3.0/ |
Π‘ΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π΅ΡΠ»ΠΈ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΌΠΎΠ΄ΡΠ»Ρ cv2 Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Python
1 | cd ~/.virtualenvs/cv/lib/python2.7/site-packages/ |
ΠΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΌΠΎΠ΄ΡΠ»Ρ:
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ Ρ ΠΈΡΠΏΠΎΠ»Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° 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
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΠΊΠ°ΠΊ
, ΠΊΡΠ΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Makefile, ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
cd ~ / opencv
mkdir build
cd build
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ 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, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
- ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
- Π’ΠΈΠΏ ΡΠ±ΠΎΡΠΊΠΈ:
CMAKE_BUILD_TYPE = Release \ Debug
- Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈΠ· opencv_contrib ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ OPENCV_EXTRA_MODULES_PATH Π² <ΠΏΡΡΡ ΠΊ opencv_contrib / modules />
- Π½Π°Π±ΠΎΡ BUILD_DOCS Π΄Π»Ρ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
- ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ BUILD_EXAMPLES Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
- Π’ΠΈΠΏ ΡΠ±ΠΎΡΠΊΠΈ:
- [Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] Π‘Π±ΠΎΡΠΊΠ° 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 /
- [Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] Π‘Π±ΠΎΡΠΊΠ° java.
- ΠΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ: BUILD_SHARED_LIBS
- Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ BUILD_EXAMPLES, BUILD_TESTS, BUILD_PERF_TESTS — ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ OpenCV ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ.
Π‘Π±ΠΎΡΠΊΠ°. ΠΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ make , ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ²
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
make -j7 # Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ 7 Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ
[ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ] Π‘ΡΡΠΎΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠ²Π΅Π΄ΠΈΡΠ΅
ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ make Ρ ΡΠ΅Π»Π΅Π²ΡΠΌ «doxygen» ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
cd ~ / opencv / build / doc /
make -j7 doxygen
- Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ±ΠΎΡΠΊΠΈ
[Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ²
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
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
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΠΊΠ°ΠΊ
, ΠΊΡΠ΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Makefile, ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
cd ~ / opencv
mkdir build
cd build
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ 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, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
- ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
- Π’ΠΈΠΏ ΡΠ±ΠΎΡΠΊΠΈ:
CMAKE_BUILD_TYPE = Release \ Debug
- Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈΠ· opencv_contrib ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ OPENCV_EXTRA_MODULES_PATH Π² <ΠΏΡΡΡ ΠΊ opencv_contrib / modules />
- Π½Π°Π±ΠΎΡ BUILD_DOCS Π΄Π»Ρ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
- ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ BUILD_EXAMPLES Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
- Π’ΠΈΠΏ ΡΠ±ΠΎΡΠΊΠΈ:
- [Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] Π‘Π±ΠΎΡΠΊΠ° 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 /
- [Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] Π‘Π±ΠΎΡΠΊΠ° java.
- ΠΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ: BUILD_SHARED_LIBS
- Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ BUILD_EXAMPLES, BUILD_TESTS, BUILD_PERF_TESTS — ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ OpenCV ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ.
- [Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ pkg-config
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎΡ ΡΠ»Π°Π³ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ CMake:
-DOPENCV_GENERATE_PKGCONFIG = ON
- Π‘Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» .pc Π΄Π»Ρ pkg-config ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π΅Π³ΠΎ.
- ΠΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ CMake Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ OpenCV
- Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ
opencv4
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅:pkg-config --cflags --libs opencv4
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎΡ ΡΠ»Π°Π³ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ CMake:
Π‘Π±ΠΎΡΠΊΠ°.ΠΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ make , ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ²
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
make -j7 # Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ 7 Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ
[ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ] Π‘ΡΡΠΎΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠ²Π΅Π΄ΠΈΡΠ΅
ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ make Ρ ΡΠ΅Π»Π΅Π²ΡΠΌ «doxygen» ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
cd ~ / opencv / build / doc /
make -j7 doxygen
- Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ±ΠΎΡΠΊΠΈ
[Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ²
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
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
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΠΊΠ°ΠΊ
, ΠΊΡΠ΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Makefile, ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
cd ~ / opencv
mkdir build
cd build
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ 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, Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
- ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
- Π’ΠΈΠΏ ΡΠ±ΠΎΡΠΊΠΈ:
CMAKE_BUILD_TYPE = Release \ Debug
- Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈΠ· opencv_contrib ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ OPENCV_EXTRA_MODULES_PATH Π² <ΠΏΡΡΡ ΠΊ opencv_contrib / modules />
- ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ BUILD_DOCS Π΄Π»Ρ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
- ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ BUILD_EXAMPLES Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²
- Π’ΠΈΠΏ ΡΠ±ΠΎΡΠΊΠΈ:
- [Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] Π‘Π±ΠΎΡΠΊΠ° 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 /
- [Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] Π‘Π±ΠΎΡΠΊΠ° java.
- ΠΠ΅ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ: BUILD_SHARED_LIBS
- Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ BUILD_EXAMPLES, BUILD_TESTS, BUILD_PERF_TESTS — Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ OpenCV ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ.
- [Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ pkg-config
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎΡ ΡΠ»Π°Π³ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ CMake:
-DOPENCV_GENERATE_PKGCONFIG = ON
- Π‘Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» .pc Π΄Π»Ρ pkg-config ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π΅Π³ΠΎ.
- ΠΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ CMake Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ OpenCV
- Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ
opencv4
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅:pkg-config --cflags --libs opencv4
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΡΠΎΡ ΡΠ»Π°Π³ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ CMake:
Π‘Π±ΠΎΡΠΊΠ°.ΠΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ±ΠΎΡΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ make , ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ²
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
make -j7 # Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ 7 Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ
[ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ] Π‘ΡΡΠΎΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠ²Π΅Π΄ΠΈΡΠ΅
ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ make Ρ ΡΠ΅Π»Π΅Π²ΡΠΌ «doxygen» ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
cd ~ / opencv / build / doc /
make -j7 doxygen
- Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠ±ΠΎΡΠΊΠΈ
[Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ] ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠΎΠ²
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,
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.__Π²Π΅ΡΡΠΈΡ__)
.