Как установить OpenCV на Raspberry Pi 3

12 set 2022 3 min di lettura
Как установить OpenCV на Raspberry Pi 3
Indice dei contenuti

Введение

OpenCV (Open Source Computer Vision Library) — библиотека компьютерного зрения с открытым исходным кодом и имеет ярлыки для C++, Python и Java. Он используется для широкого спектра приложений, включая анализ медицинских изображений, обработку изображений просмотра улиц, видеонаблюдение, обнаружение и распознавание лиц, отслеживание движущихся объектов, извлечение 3D-моделей и многое другое.

OpenCV может использовать преимущества многоядерной обработки и ускорения графического процессора для работы в реальном времени.

В этом руководстве мы объясним, как установить OpenCV на Raspberry Pi 3.

Предпосылки

Мы предполагаем, что Raspbian установлен на вашем Raspberry Pi.

Установите OpenCV из репозиториев Raspbian.

Модуль OpenCV Python доступен в стандартном репозитории Raspbian.

Чтобы установить модуль OpenCV Python, выполните следующие команды:

sudo apt update
sudo 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:

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 из 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 и 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:

Библиотека С++:

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:

CONF_SWAPSIZE=100

Сохраните файл и активируйте изменения:

sudo /etc/init.d/dphys-swapfile restart

Вывод

Мы показали вам, как установить OpenCV на плату Raspberry Pi. Сборка OpenCV из исходного кода дает вам больше гибкости и должна быть вашим первым вариантом при установке OpenCV.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.