• I






      
           

Научно-популярный образовательный ресурс для юных и начинающих радиолюбителей - Popular science educational resource for young and novice hams

Основы электричества, учебные материалы и опыт профессионалов - Basics of electricity, educational materials and professional experience

КОНКУРС
language
 
Поиск junradio

Радиодетали
ОК
Сервисы

Stock Images
Покупка - продажа
Фото и изображений


 
Выгодный обмен
электронных валют

Друзья JR



JUNIOR RADIO

 

Установка OpenCV на Raspberry Pi

 

 

Для успешной установки OpenCV на Raspberry Pi требуется несколько шагов и немного терпения. Для тех, кто не знает, что такое OpenCV . Это библиотека различных программных функций, предназначенных для работы с компьютерным зрением в реальном времени. Используя компьютерное зрение, вы можете интерпретировать изображения и видео в режиме реального времени. Позволяет относительно легко выполнять такие задачи, как обнаружение движения и распознавание лиц. Raspberry Pi - отличная платформа для начала изучения OpenCV, а также доступное и небольшое устройство.

Установка пакетов для OpenCV

В этом разделе мы проведем вас через процесс установки всех пакетов, необходимых для компиляции и запуска программного обеспечения OpenCV. Поскольку OpenCV требует очень много пакетов на Raspberry Pi, мы установим их за пару шагов.

1. Прежде чем продолжить, мы должны сначала обновить все существующие пакеты. Вы можете обновить установленные в данный момент пакеты, выполнив следующие две команды.

sudo apt update

sudo apt upgrade

2. Теперь мы можем начать процесс установки всех пакетов, которые нам нужны для компиляции OpenCV. Для начала выполните команду ниже. Эта команда установит пакеты, содержащие инструменты, необходимые для компиляции кода OpenCV.

sudo apt install cmake build-essential pkg-config git

3. Далее мы собираемся установить пакеты, которые добавят поддержку различных форматов изображений и видео в OpenCV. Установите эти библиотеки на свой Raspberry Pi с помощью следующей команды.

sudo apt install libjpeg-dev libtiff-dev libjasper-dev libpng-dev libwebp-dev libopenexr-dev

sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libdc1394-22-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

4. Наш следующий шаг - установить все пакеты, необходимые для интерфейса OpenCV, используя команду ниже.

sudo apt install libgtk-3-dev libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5

5. Эти следующие пакеты имеют решающее значение для работы OpenCV с приличной скоростью на Raspberry Pi. Вы можете установить эти пакеты, выполнив следующую команду.

sudo apt install libatlas-base-dev liblapacke-dev gfortran

6. Вторая последняя партия пакетов, которые нам необходимо установить, относится к формату иерархических данных (HDF5), который OpenCV использует для управления данными. Установите пакеты HDF5 на свой Pi, используя команду ниже.

sudo apt install libhdf5-dev libhdf5-103

7. Наконец, мы можем установить последние несколько пакетов, используя команду ниже. Эти последние несколько пакетов позволят нам скомпилировать OpenCV с поддержкой Python на нашем Raspberry Pi.

sudo apt install python3-dev python3-pip python3-numpy

Прежде чем перейти к следующему разделу, убедитесь, что все пакеты установлены успешно.

 Подготовка Raspberry Pi для компиляции OpenCV

1. После установки всех необходимых пакетов для компиляции OpenCV на Raspberry Pi нам нужно проделать некоторую подготовительную работу, прежде чем мы сможем начать процесс компиляции. Теперь нам нужно временно увеличить размер пространства подкачки, чтобы облегчить процесс компиляции OpenCV на Raspberry Pi. Пространство подкачки используется операционной системой, когда на устройстве заканчивается физическая оперативная память. Хотя память подкачки намного медленнее, чем ОЗУ, она все же может быть полезна в определенных ситуациях. Начните изменять конфигурацию файла подкачки, выполнив следующую команду.

sudo nano /etc/dphys-swapfile

2. Пока мы находимся в этом файле, нам нужно найти и заменить следующую строку.

Находим

CONF_SWAPSIZE=100

Заменим

CONF_SWAPSIZE=2048

После изменения сохраните файл, нажав CTRL+, Xа Yзатем Enter.

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

sudo systemctl restart dphys-swapfile

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

4. Далее, давайте продолжим и клонируем два репозитория OpenCV, которые нам нужны, в наш Raspberry Pi. Выполнение этих двух команд приведет к получению последней доступной версии OpenCV из их репозитория git .

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

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

Поскольку эти репозитории довольно большие, их клонирование на Raspberry Pi может занять некоторое время.

 Компиляция OpenCV на Raspberry Pi

1.Давайте начнем с создания каталога под названием « build » в клонированной папке « opencv », а затем изменим на него рабочий каталог.

mkdir ~/opencv/build

cd ~/opencv/build

В этой папке мы будем компилировать OpenCV на вашем Raspberry Pi.

2.Теперь, когда мы находимся в нашей недавно созданной папке сборки, теперь мы можем использовать cmakeдля подготовки OpenCV для компиляции на нашем Raspberry Pi. Выполните следующую команду, чтобы сгенерировать необходимый make-файл.

cmake -D CMAKE_BUILD_TYPE=RELEASE \

    -D CMAKE_INSTALL_PREFIX=/usr/local \

    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \

    -D ENABLE_NEON=ON \

    -D ENABLE_VFPV3=ON \

    -D BUILD_TESTS=OFF \

    -D INSTALL_PYTHON_EXAMPLES=OFF \

    -D OPENCV_ENABLE_NONFREE=ON \

    -D CMAKE_SHARED_LINKER_FLAGS=-latomic \

    -D BUILD_EXAMPLES=OFF ..

3. После успешного завершения создания файла make мы можем наконец перейти к компиляции OpenCV, выполнив команду ниже. Мы используем аргумент, -j$(nproc)чтобы указать компилятору запустить компилятор для каждого из доступных процессоров. Это значительно ускорит процесс компиляции и позволит каждому ядру Raspberry Pi работать над компиляцией OpenCV.

make -j$(nproc)

Учтите, что процесс компиляции может занять значительное время. На нашем Raspberry Pi 4 этот процесс занял около 1 часа.

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

sudo make install

Эта команда автоматически скопирует все необходимые файлы в нужные места.

5. Теперь нам также нужно регенерировать кеш ссылок библиотеки операционных систем. Raspberry Pi не сможет найти нашу установку OpenCV, если мы не выполним следующую команду.

sudo ldconfig

 Очистка после компиляции

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

sudo nano /etc/dphys-swapfile

2. В этом файле вам нужно найти и изменить следующую строку.

Находим

CONF_SWAPSIZE=2048

Заменим

CONF_SWAPSIZE=100

Когда закончите, сохраните файл, нажав CTRL+, Xа Yзатем Enter.

3. Теперь наша последняя задача очистки требует, чтобы мы перезапустили службу файлов подкачки. После перезапуска службы размер файла уменьшится с 2 ГБ до 100 МБ.

sudo systemctl restart dphys-swapfile

 Тестирование OpenCV на вашем Raspberry Pi

1.Чтобы проверить, установлен ли OpenCV на Raspberry Pi, мы воспользуемся установкой Python 3 . Запустите терминал Python, выполнив команду ниже.

python3

2. Пока мы находимся в Python, теперь мы можем импортировать модуль OpenCV Python, используя команду ниже. Импортируя модуль, мы можем сначала проверить, загрузится ли OpenCV на нашем Pi.

import cv2

3. Теперь, когда модуль OpenCV импортирован, мы сможем получить его версию. Чтобы получить версию OpenCV, используйте следующую команду.

cv2.__version__

4. Если теперь все работает, как задумано, и OpenCV был успешно установлен на ваш Raspberry Pi, вы должны увидеть текст, подобный следующему, в командной строке.

'4.1.2'

 

Надеюсь, на этом этапе у вас будет запущен OpenCV.

 




Необходимо добавить материалы...
Результат опроса Результаты Все опросы нашего сайта Архив опросов
Всего голосовало: 373



          

Радио для всех© 2024