ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenCV Π½Π° Raspberry Pi 3
OpenCV (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ) β ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈΠΌΠ΅ΡΡΠ°Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π΄Π»Ρ C ++, Python ΠΈ Java. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ΅Π½Ρ ΡΠΈΡΠΎΠΊΠΎΠ³ΠΎ ΠΊΡΡΠ³Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ Π°Π½Π°Π»ΠΈΠ· ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ»ΠΈΡ, Π²ΠΈΠ΄Π΅ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ Π»ΠΈΡ, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΡΡΠΈΡ ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ 3D-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
OpenCV ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΠΎΠ±ΡΡΡΠ½ΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenCV Π½Π° Raspberry Pi.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°
ΠΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ Π½Π° Raspberry Pi ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Raspbian .
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenCV ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Raspbian
ΠΠΎΠ΄ΡΠ»Ρ OpenCV Python Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Raspbian. ΠΠ° ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ ΡΡΠΎΠΈΡ Π²Π΅ΡΡΠΈΡ 3.2, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ.
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ OpenCV Python, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
sudo apt updatesudo apt install python3-opencv
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° OpenCV.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ cv2
ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΠΉΡΠ΅ Π²Π΅ΡΡΠΈΡ OpenCV:
python3 -c "import cv2; print(cv2.__version__)"
3.2.0
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenCV Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ°ΠΌΠΈ Python 2, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ python-opencv
.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenCV ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ OpenCV β ΡΠΎΠ±ΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠ±ΠΎΡΠΊΠΈ, Π° OpenCV Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈΠ·-Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠ°ΠΌΡΡΡΡ:
sudo nano /etc/dphys-swapfile
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ CONF_SWAPSIZE
ΡΠΎ 100
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° 1024
:
/etc/dphys-swapfile
CONF_SWAPSIZE=1024
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΡΡΠΏΠΈΠ»ΠΈ Π² ΡΠΈΠ»Ρ:
sudo /etc/init. d/dphys-swapfile restart
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ ΡΠ±ΠΎΡΠΊΡ OpenCV. Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
sudo apt update
sudo apt install build-essential cmake git pkg-config libgtk-3-dev "libcanberra-gtk*"
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 libatlas-base-dev opencl-headers
sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ±ΠΎΡΠΊΠΈ , ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ Π½Π΅ΠΌΡ ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ OpenCV ΠΈ OpenCV contrib ΠΈΠ· Github:
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. 1.1. ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ OpenCV, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² opencv_contrib
opencv
ΠΈ opencv_contrib
ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ git checkout <opencv-version>
.
ΠΠΎΡΠ»Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ:
mkdir -p ~/opencv_build/opencv/build && cd ~/opencv_build/opencv/build
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ OpenCV Ρ ΠΏΠΎΠΌΠΎΡΡΡ cmake
:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D OPENCV_GENERATE_PKGCONFIG=ON -D ENABLE_NEON=ON -D OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic -D ENABLE_VFPV3=ON -D BUILD_TESTS=OFF -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules -D BUILD_EXAMPLES=OFF ..
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
... -- Configuring done -- Generating done -- Build files have been written to: /home/pi/opencv_build/opencv/build
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ make
ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ:
make -j4
ΠΡΠΎΡΠ΅ΡΡ Π·Π°ΠΉΠΌΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΎΠΊΠΎΠ»ΠΎ 1-2 ΡΠ°ΡΠΎΠ², Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Raspberry Pi. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ ΡΠ΄Π°Π»Π°ΡΡ ΠΈΠ·-Π·Π° Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make
ΡΠ°Π·, ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡΡ Ρ ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΎΠ½ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ.
ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ Π½ΠΈΠΆΠ΅:
... [100%] Linking CXX shared module ../../lib/python3/cv2.cpython-35m-arm-linux-gnueabihf.so [100%] Built target opencv_python3
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³ β ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² OpenCV:
sudo make install
... -- Installing: /usr/local/bin/opencv_version -- Set runtime path of "/usr/local/bin/opencv_version" to "/usr/local/lib"
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΏΠ΅ΡΠ½ΠΎ Π»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ OpenCV, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π΅ΡΡΠΈΡ OpenCV:
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C ++:
pkg-config --modversion opencv4
4. 1.1
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python:
python3 -c "import cv2; print(cv2.__version__)"
4.1.1-pre
ΠΡΠΈΡΡΠΈΡΡ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΌΠ°Π»ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° SD-ΠΊΠ°ΡΡΠ΅, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ:
rm -rf ~/opencv_build
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΡΡ Π²Π°ΡΡ SD-ΠΊΠ°ΡΡΡ. ΠΠ΅ΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡ:
sudo nano /etc/dphys-swapfile
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ CONF_SWAPSIZE
Π½Π° 100
:
/etc/dphys-swapfile
CONF_SWAPSIZE=100
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
sudo /etc/init.d/dphys-swapfile restart
ΠΡΠ²ΠΎΠ΄Ρ
ΠΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenCV Π½Π° Π²Π°ΡΡ ΠΏΠ»Π°ΡΡ Raspberry Pi. Π‘Π±ΠΎΡΠΊΠ° OpenCV ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π°Π΅Ρ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ, ΠΈ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²Π°ΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ OpenCV.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ·ΡΠ²Ρ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½ΠΈΠΆΠ΅.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenCV 3 Π½Π° Raspberry Pi 3/4
OpenCV β ΡΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ±ΠΎΡΠ°ΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡΒ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΠΊΡΡΠΆΠ°ΡΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°. OpenCV ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠΉ, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π»ΠΈΡ ΠΈ ΠΆΠ΅ΡΡΠΎΠ².
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΏΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ OpenCV Π½Π° ΠΎΠ΄Π½ΠΎΠΏΠ»Π°ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Raspberry Pi 3. Π’Π°ΠΊΠΆΠ΅ ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΡΠ΅Ρ ΡΠ΅ΡΠΈΡ ΡΡΠΎΠΊΠΎΠ², Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π½Π°Β ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅Β Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ OpenCV.
Π¨Π°Π³ 1. Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ
OpenCV ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΡΡΠΌΠΌΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°. ΠΠ°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SD-ΠΊΠ°ΡΡΡΒ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 16 ΠΠ±.
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡΒ ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ OpenCV β ΡΠ°ΡΡΠΈΡΠΈΡΡΒ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Π²Π΅ΡΡ ΠΎΠ±ΡΡΠΌ SD-ΠΊΠ°ΡΡΡ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Π½ΡΒ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Raspbian. ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ sudo raspi-config
ΠΡΠΊΡΠΎΠ΅ΡΡΡ ΠΌΠ΅Π½Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΌΡΠΉ Π²Π΅ΡΡ Π½ΠΈΠΉ ΠΏΡΠ½ΠΊΡ:
ΠΠΌΠ΅ΠΌ Enter, Π° Π·Π°ΡΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ <Finish>. Β ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
$ sudo reboot
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ SD-ΠΊΠ°ΡΡΠ°Β ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π²ΡΠ΅Π³ΠΎ 8 ΠΠ±, Β ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π»ΠΈΡΠ½Π΅Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΒ wolfram-engine.
$ sudo apt-get purge wolfram-engine
ΠΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ 700 ΠΠ± ΠΌΠ΅ΡΡΠ°.
Π¨Π°Π³ 2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ OpenCV Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠ΄ Π½ΠΎΠ²ΡΡ . ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
$ sudo apt-get update $ sudo apt-get upgrade
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, Π΄Π°Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΉΠΌΡΡ ΠΎΠΊΠΎΠ»ΠΎ 5-10 ΠΌΠΈΠ½ΡΡ. ΠΠ°Π»Π΅Π΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π² ΡΠΈΡΡΠ΅ΠΌΡ cmake ΠΈ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΡΠΊ:
$ 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
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠΊΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ.
$ sudo apt-get install libatlas-base-dev gfortran
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»ΡΒ ΡΠ·ΡΠΊΠ° python Π²Π΅ΡΡΠΈΠΉ 2.7 ΠΈ 3
$ sudo apt-get install python2.7-dev python3-dev
Π¨Π°Π³ 3. ΠΠ°Π³ΡΡΠ·ΠΊΠ°Β OpenCV ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
Π‘Π½Π°ΡΠ°Π»Π° ΡΠΊΠ°ΡΠ°Π΅ΠΌ Π°ΡΡ ΠΈΠ² Ρ ΡΠ°ΠΌΠΈΠΌ OpenCV. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² ΠΏΠ°ΠΏΠΊΡ /home/pi/Downloads:
$ cd ~/Downloads
ΠΠ°Π³ΡΡΠ·ΠΈΠΌ Π°ΡΡ ΠΈΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ wget ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΡΠ΅ΠΌ unzip-ΠΎΠΌ:
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip $ unzip opencv.zip
Π‘Π»Π΅Π΄ΠΎΠΌ ΡΠΊΠ°ΡΠ°Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π²ΡΡΡΠΈΠ½ΠΎΠΉ β opencv_contrib.
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip $ unzip opencv_contrib.zip
Π¨Π°Π³ 4. ΠΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅
ΠΠ΅ΡΠ΅Π΄ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ OpenCV, ΠΌΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°Π²Π΅Π΄Π΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ³ΡΠ°Π΄ΠΈΡ Π½Π°ΡΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² pip:
$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python get-pip.py
ΠΠ°ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ:
$ sudo pip install virtualenv virtualenvwrapper $ sudo rm -rf ~/.cache/pip
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ°ΡΡ ΡΡΡΠΎΡΠ΅ΠΊ Π²Β ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ~/.profile:
$ echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile $ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile $ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈ ΡΠ°Π³Π°:
- Π·Π°ΠΊΡΡΡΡ Π²ΡΠ΅ ΠΎΠΊΠ½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ²
- ΡΠ°Π·Π»ΠΎΠ³ΠΈΠ½ΠΈΡΡΡΡ
- ΡΠ½ΠΎΠ²Π° Π·Π°Π»ΠΎΠ³ΠΈΠ½ΠΈΡΡΡΡ
- ΠΎΡΠΊΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ source ~/.profile
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΎΠΎΠ±ΡΠ΅, ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ ΠΎΠ΄Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΠ°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«cvΒ»:
$ mkvirtualenv cv -p python3
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΠΌ Raspberry Pi:
$ sudo reboot
ΠΡΠΊΡΠΎΠ΅ΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π·Π°ΠΉΠ΄Π΅ΠΌ Π²Β ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅:
$ source ~/. profile $ workon cv
ΠΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ (cv) Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Β ΡΠ±ΠΎΡΠΊΠΎΠΉ OpenCV β ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° NumPy:
$ pip install numpy
Π¨Π°Π³ 5. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenCV
ΠΠ°Ρ ΠΎΠ΄ΡΡΡ Π² ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ,Β Π·Π°ΠΉΠ΄Π΅ΠΌ Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ OpenCVΒ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ cd ~/Downloads/opencv-master $ 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=~/Downloads/opencv_contrib-master/modules -D BUILD_EXAMPLES=ON ..
Π ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊΒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² OpenCV, Π³ΠΎΡΠΎΠ²ΡΡ ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅.
ΠΡΠ°ΡΠ½ΡΠΌ Π²ΡΠ΄Π΅Π»Π΅Π½Π° ΡΠ΅ΠΊΡΠΈΡ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½Π°Ρ python.
ΠΡ Π° ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΠΌΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ β ΡΠ±ΠΎΡΠΊΠ° Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΎΠ².Β ΠΠ΅ Π²ΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ make:
$ make -j4
j4 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΒ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΠ΅ 4 ΡΠ΄ΡΠ° Raspberry Pi. ΠΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, Π½ΠΎ Π΄Π°ΠΆΠ΅Β ΠΏΡΠΈ ΡΠ°ΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ Β ΡΠ±ΠΎΡΠΊΠ° Π·Π°ΠΉΠΌΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠΎΡΠ°Β ΡΠ°ΡΠΎΠ².
Π‘Π±ΠΎΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ Π²ΠΎΡ ΠΎΡΡΠ΅ΡΠΎΠΌ:
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠΈΡΠ½ΠΎ Ρ ΠΌΠ΅Π½Ρ, Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠ°ΡΡ ΡΠ°Π· Π·Π°Π²ΠΈΡΠ°Π»Π° Π½Π°Π³Π»ΡΡ ΠΎ. Π’ΠΎ Π΅ΡΡΡ Π΄Π°ΠΆΠ΅ ΠΌΡΡΡ Π½Π΅ ΡΠ΅Π²Π΅Π»ΠΈΠ»Π°ΡΡ. ΠΠΎΠΌΠΎΠ³Π»ΠΎ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅/Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΊΠ»ΡΡΠΎΠΌ -j2.
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊ Π² ΠΏΠ°ΠΏΠΊΡΒ Ρ python:
$ sudo make install $ sudo ldconfig
Π¨Π°Π³ 6. ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π² ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ pythonΒ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ°ΠΉΠ»Β cv2.cpython-34m.so, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π²ΠΎ ΡΡΠΎ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π±Π»Π°Π³ΠΎΠ·Π²ΡΡΠ½ΠΎΠ΅:
$ cd /usr/local/lib/python3.4/site-packages/ $ sudo mv cv2.cpython-34m.so cv2.so
Π§ΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ OpenCV, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠ°ΠΌ ΡΡΡΠ»ΠΊΡ Π½Π°Β ΠΏΠΎΠ»ΡΡΠΈΠ²ΡΠΈΠΉΡΡ cv2.so:
$ cd ~/.virtualenvs/cv/lib/python3.4/site-packages/ $ ln -s /usr/local/lib/python3.4/site-packages/cv2.so cv2.so
Π¨Π°Π³ 7.
ΠΡΠΎΠ²Π΅ΡΠΊΠ°Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ,Β Π·Π°ΠΉΠ΄Π΅ΠΌ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ ΡΠ·ΡΠΊΠ° python ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡΒ ΠΌΠΎΠ΄ΡΠ»Ρ cv2:
$ source ~/.profile $ workon cv $ python >>> import cv2 >>> cv2.__version__ '3.1.0' >>>
ΠΠΎΡ ΠΈ Π²ΡΡ β OpenCV ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΡΠΏΠ΅ΡΠ½ΠΎ! Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠΎΠΊΠ°Ρ ΠΌΡΒ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ ΡΒ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉΒ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅ΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΡΠΎΠ±ΠΎΡΠΎΡΠ΅Ρ Π½ΠΈΠΊΠ΅.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenCV | Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Raspberry Pi
ΠΠΈΠΆΠ΅ Ρ ΠΏΡΠΎΠ²Π΅Π΄Ρ Π²Π°Ρ ΡΠ΅ΡΠ΅Π· ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ OpenCV ΡΠ°Π±ΠΎΡΠ°Π» Π½Π° Raspberry Pi, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° Ubuntu ΠΈ Mac.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
- OpenCV
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenCV Ρ pip
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΡΠΈΠ±ΠΊΠΈ?
OpenCV
OpenCV β ΠΎΡΠ΅Π½Ρ ΠΎΠ±ΡΠΈΡΠ½Π°Ρ ΠΈ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΌΠΎΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ (Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ), Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΡ ΠΊΠ°ΠΌΠ΅ΡΡ.
Π Π°Π½ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenCV Π±ΡΠ»Π° ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΠΌ ΠΈ Π΄ΠΎΠ»Π³ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π½Π° ΡΡΠ°ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ . Π ΡΡΠ°ΡΡΡΡ, ΡΠ΅ΠΉΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenCV Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π² ΡΡΠ°ΡΡΠ΅ ΠΠ΄ΡΠΈΠ°Π½Π° Π ΠΎΡΠ·Π±ΡΠΎΠΊΠ°.
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
Pip β ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ Python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ OpenCV. Pip ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ (ΡΠΌ. Π·Π΄Π΅ΡΡ)
ΠΠ°Π»Π΅Π΅, Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π²Π΅ΡΡΠΈΠΉ ΠΠ‘ Raspberry Pi Π½Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ. Π‘Π½Π°ΡΠ°Π»Π° ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ apt-get
ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½, Π΅ΡΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ Π² Π’Π΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
sudo apt-get update
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ:
sudo apt-get install build-essential cmake pkg-config libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264- dev libfontconfig1-dev libcairo2-dev libgdk-pixbuf2. 0-dev libpango1.0-dev libgtk2.0-dev libgtk-3-dev libatlas-base-dev gfortran libhdf5-dev libhdf5-serial-dev libhdf5-103 python3-pyqt5 python3 -dev -y
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ OpenCV Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ OpenCV Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ python2.7 Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ Π²Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ Ρ python3, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²Π²Π΅ΡΡΠΈ pip3
, Π° Π½Π΅ pip
. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ opencv β pip install opencv-contrib-python
, Π½ΠΎ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ Π΅Π΅ ΡΡΠ°Π·Ρ (!), ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ OpenCV, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π° Π½Π° Raspberry Pi. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡΡ Π²Π΅ΡΡΠΈΡ. ΠΠ΄Π΅ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ 4.5.3.56, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ»ΡΡΠΈΡΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎ ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Π°Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ:
pip ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ opencv-python == 4. 5.3.56
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ Π²Π΅ΡΡΠΈΡ, ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ opencv-contrib-python (ΠΈΠ· Π²Π΅ΡΡΠΈΠΉ:) ΠΠ΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π΄Π»Ρ opencv-contrib-python , ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ apt -ΠΏΠΎΠ»ΡΡΠΈΡΡ
Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠ½ΠΊΡΠΎΠ²
:
sudo apt-get install python-opencv
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠ±Π΅Π΄ΠΈΠΌΡΡ, ΡΡΠΎ OpenCV ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ python3
Β Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Python. Π’Π΅ΠΏΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π²Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ OpenCV, Π²Π²Π΅Π΄ΠΈΡΠ΅:
import cv2 cv2.__Π²Π΅ΡΡΠΈΡ__
ΠΠΊΠ½ΠΎ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
$ python3 Python 3.7.3 (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, 20 Π΄Π΅ΠΊΠ°Π±ΡΡ 2020 Π³., 18:57:59) [GCC 8.3.0] Π² Linux ΠΠ²Π΅Π΄ΠΈΡΠ΅ Β«ΠΏΠΎΠΌΠΎΡΡΒ», Β«Π°Π²ΡΠΎΡΡΠΊΠΎΠ΅ ΠΏΡΠ°Π²ΠΎΒ», Β«ΠΊΡΠ΅Π΄ΠΈΡΡΒ» ΠΈΠ»ΠΈ Β«Π»ΠΈΡΠ΅Π½Π·ΠΈΡΒ» Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. >>> ΠΈΠΌΠΏΠΎΡΡ cv2 >>> cv2.__Π²Π΅ΡΡΠΈΡ__ Β«4.5.3Β»
ΠΠΎΡΠΎΠ²ΠΎ!
ΠΡΠΈΠ±ΠΊΠΈ?
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ:
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΡ . Opencv ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ, ΠΈ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ΄Π°Π»ΡΡΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Β«Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠΎΠ»Π΅ΡΠ°Β», Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΡΠΈ ΠΊΠΎΠ»Π΅ΡΠ° ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ. Π§ΡΠΎΠ±Ρ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΈΡ :
pip install --upgrade pip setuptools wheel
ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΡ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ cv2, Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅:
sudo apt-get ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ python-opencv pip ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ -U numpy
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ opencv Π½Π° Raspberry Pi, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π°ΠΏΡΡΠΊ python3 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 python3
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΡΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ!
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenCV Π½Π° Raspberry Pi
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ Π²Π°Ρ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ OpenCV Π½Π° Raspberry Pi.
ΠΠ»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ OpenCV Π½Π° Raspberry Pi ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π½ΡΡ ΡΠ°Π³ΠΎΠ² ΠΈ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΠ΅ΡΠΏΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ OpenCV. ΠΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌ Π·ΡΠ΅Π½ΠΈΠ΅ΠΌ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ΅ Π·ΡΠ΅Π½ΠΈΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ Π»ΠΈΡ.
Raspberry Pi β ΠΎΡΠ»ΠΈΡΠ½Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ OpenCV, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ
ΠΠΎΡ Π²ΡΠ΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠΊΠ° Raspberry Pi OpenCV.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ
- Π§Π΅Ρ ΠΎΠ» Raspberry Pi
- USB-ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°
- USB-ΠΌΡΡΡ
ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Raspbian Buster. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡ Raspbian, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎ Buster.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ OpenCV
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ Π²Π°Ρ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ OpenCV.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄Π»Ρ OpenCV ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° Raspberry Pi, ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΈΡ Π·Π° ΠΏΠ°ΡΡ ΡΠ°Π³ΠΎΠ².
1. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
2. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ OpenCV.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° OpenCV.
3. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π² OpenCV.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° Raspberry Pi Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
4. ΠΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ β ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° OpenCV, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
5. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ OpenCV ΡΠ°Π±ΠΎΡΠ°Π» Ρ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ Π½Π° Raspberry Pi.
ΠΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
6. ΠΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΠ°ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΡΠΎΡΠΌΠ°ΡΡ Π΄Π°Π½Π½ΡΡ (HDF5), ΠΊΠΎΡΠΎΡΡΠΉ OpenCV ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ HDF5 Π½Π° ΡΠ²ΠΎΠΉ Pi, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
7. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π½Π°ΠΌ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ OpenCV Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Python Π½Π° Π½Π°ΡΠ΅ΠΌ Raspberry Pi.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π·Π΄Π΅Π»Ρ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π²Π°ΡΠ΅Π³ΠΎ Raspberry Pi ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ OpenCV
1. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ OpenCV Π½Π° Π½Π°ΡΠ΅ΠΌ Raspberry Pi ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ OpenCV Π½Π° Raspberry Pi.
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΊΠΎΠ³Π΄Π° Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ. Π₯ΠΎΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, ΡΠ΅ΠΌ ΠΠΠ£, Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΎΠ½Π° Π²ΡΠ΅ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π°.
ΠΠ°ΡΠ½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
2. ΠΠΎΠΊΠ° ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ.
ΠΠ°ΠΉΡΠΈ
ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ Π½Π°
ΠΠΎΡΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ», Π½Π°ΠΆΠ°Π² CTRL + X , Π·Π°ΡΠ΅ΠΌ Y , Π·Π°ΡΠ΅ΠΌ ΠΠ²Π΅Π΄ΠΈΡΠ΅ .
3. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π²Π½Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΠ»ΡΠΆΠ±Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°Ρ ΡΠ»ΡΠΆΠ±Ρ, ΠΌΡ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π΅Π΅ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ.
4. ΠΠ°Π»Π΅Π΅, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΡΠ΅ΠΌ Π΄Π²Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ OpenCV, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ, Π½Π° Π½Π°Ρ Raspberry Pi.
ΠΠ°ΠΏΡΡΠΊ ΡΡΠΈΡ Π΄Π²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²Π΅ΡΡΠΈΡ OpenCV ΠΈΠ· ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ git.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅, ΠΈΡ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Raspberry Pi ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ OpenCV Π½Π° Raspberry Pi
1. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β« build Β» Π² ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Β« opencv Β», Π° Π·Π°ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π½Π° Π½Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
Π ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ OpenCV Π½Π° Π²Π°ΡΠ΅ΠΌ Raspberry Pi.
2. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΠΌΡΡ Π² Π½Π°ΡΠ΅ΠΉ Π½Π΅Π΄Π°Π²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΡΠ±ΠΎΡΠΊΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ cmake
Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ OpenCV ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π½Π° Π½Π°ΡΠ΅ΠΌ Raspberry Pi.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ make-ΡΠ°ΠΉΠ».
3. ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° make ΠΌΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ OpenCV, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ -j$(nproc)
, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ².
ΠΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ΄ΡΡ Raspberry Pi ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ OpenCV.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠ° Π½Π°ΡΠ΅ΠΌ Raspberry Pi 4 ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°Π½ΡΠ» ΠΎΠΊΠΎΠ»ΠΎ 1 ΡΠ°ΡΠ°.
ΠΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ ΠΈΠ»ΠΈ Π·Π°Π²ΠΈΡΠ°Π΅Ρ, Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½.
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ make. ΠΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
4. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ OpenCV.
Π ΡΡΠ°ΡΡΡΡ Π΄Π»Ρ Π½Π°Ρ, ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΡΠ΅Π±ΡΡΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠ°.
5. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΡΡ ΡΡΡΠ»ΠΎΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
Raspberry Pi Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ Π½Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ OpenCV, Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΡΠΈΡΡΠΊΠ° ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
1. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ OpenCV, Π½Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΡΠ°ΠΊΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ½ΠΎΠ²Π° ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
2. Π ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ.
ΠΠ°ΠΉΡΠΈ
ΠΠ°ΠΌΠ΅Π½ΠΈΡΡ Π½Π°
ΠΠΎΠ³Π΄Π° Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅, ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ», Π½Π°ΠΆΠ°Π² CTRL + X , Π·Π°ΡΠ΅ΠΌ Y , Π·Π°ΡΠ΅ΠΌ ΠΠ²Π΅Π΄ΠΈΡΠ΅ .
3. Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π·Π°Π΄Π°ΡΠ° ΠΎΡΠΈΡΡΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΌΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΡΠ»ΡΠΆΠ±Ρ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ.
ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΡΠ»ΡΠΆΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° Ρ 2 ΠΠ Π΄ΠΎ 100 ΠΠ.
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ OpenCV Π½Π° Raspberry Pi
1.