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

Нам нужно выполнять различные операции с изображением, чтобы извлечь из него полезную информацию. Итак, этот процесс применения различных алгоритмов к изображению для получения желаемого результата называется Обработка изображения . Иногда изображение на входе размыто, и мы хотим получить из него данные. Например. Когда грабители приезжают, чтобы схватить мотоцикл или автомобиль, они в основном приезжают на велосипеде, а на дорогах устанавливаются видеонаблюдения, которые снимают видео инцидента. Нам необходимо знать регистрационный номер того транспортного средства, на котором приехали грабители, и это легко сделать с помощью некоторых алгоритмов обработки изображений. Чтобы выполнить обработку изображений на определенных изображениях, нам необходимо установить некоторые библиотеки на используемом нами оборудовании. Среди этих библиотек наиболее важной является OpenCV. OpenCV также можно установить на ПК и микропроцессоры. Raspberry Pi - это микропроцессор, который используется в различных электронных проектах. После установки операционной системы на Raspberry Pi мы можем выполнять на нем различные задачи по обработке изображений. Установка OpenCV на Raspberry Pi - долгая и беспокойная задача. В этой статье мы узнаем, как установить OpenCV на Raspberry Pi для выполнения на нем различных операций обработки изображений.



Обнаружение лиц с OpenCV, установленным на Raspberry Pi

Как настроить Raspberry Pi и настроить на нем OpenCV?

Теперь давайте перейдем к настройке Pi и выполнению операций, упомянутых в шаге за шагом, для установки OpenCV на нем. Установка OpenCV на Pi - длительный процесс, который занимает около 4 часов, поэтому, если у вас мало времени, не начинайте установку, обратитесь к этому руководству, когда будете свободны. Наряду с этим Pi нагревается при повороте НА на нем долгое время выполняются сложные операции, поэтому храните его в прохладном месте, когда вы работаете с ним.



Шаг 1. Используемые компоненты

  • Комплект Raspberry Pi 3B +
  • Телевидение с портом HDMI
  • Кабель HDMI
  • Проводная компьютерная мышь

Шаг 2: Выбор модели Raspberry Pi

На рынке доступно несколько моделей raspberry pi. За исключением raspberry pi zero, можно предпочесть любую модель. Это связано с тем, что на Pi zero настройка сети - очень утомительная работа. Можно приобрести последние модели, такие как 3A +, 3B + или 4. Новый Raspberry Pi 3 - самый быстрый и самый распространенный гаджет, выпущенный Raspberry Pi Foundation на сегодняшний день. Итак, в этом проекте мы будем использовать Raspberry Pi 3B +.



Raspberry Pi 3B +



Шаг 3: Подключение периферийных устройств

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

Шаг 4: выбор операционной системы

Во-первых, нам понадобится SD-карта с соответствующей операционной системой. При выборе ОС в настоящее время есть различные альтернативы, от «обычного» Raspbian до специализированных сред для работы с мультимедиа и даже Windows 10 IoT. Нет необходимости в большом количестве приложений, поэтому мы должны оставить центральный процессор (ЦП) и оперативную память (ОЗУ) как можно больше для приложения потоковой передачи мультимедиа. Одна из проблем заключается в том, что Arch Linux рекомендуется людям, которые достаточно хорошо разбираются в Linux. Они на передовой, и мы неизбежно столкнемся с проблемами при внедрении сторонних приложений и библиотек. Таким образом, если это ваша первая установка домашнего кинотеатра, мы предлагаем выбрать Распбиан Лайт . Он управляется командной строкой и может без особых усилий работать в «автономном» режиме, то есть доступ к нему осуществляется полностью удаленно через систему без необходимости в консоли или экране.

Распбиан Лайт



Шаг 5: убедитесь, что Raspberry Pi обновлен

Обновляйте исходные коды вашего Pi, иначе устаревшее программное обеспечение вызовет некоторые проблемы. Включите программу просмотра виртуальных сетевых вычислений (VNC) на своем Pi, затем подключите Raspberry Pi к программе просмотра VNC. Ниже приведена ссылка для загрузки VNC и последующего подключения к Pi.

VNC Viewer

Теперь откройте терминал и выполните следующую команду:

sudo apt-get update

Потом,

sudo apt-get upgrade

Будет установлено множество пакетов, и если их спросят, нажмите И а потом Войти чтобы правильно их установить.

Шаг 6: Войдите в Raspberry Pi

Имя пользователя Raspberry Pi по умолчанию: Пи, и пароль по умолчанию малина. Это данные для входа по умолчанию, и при первом входе используйте эти данные для входа в Pi. Вы также можете изменить эти данные, когда захотите.

Войти в Raspberry Pi

Шаг 7: Создание достаточного места в Raspbian для OpenCV

OpenCV требует большой памяти, поэтому нам нужно расширить файловую систему и выделить все пространство на карту памяти. Мы перейдем в командную строку raspberry и наберем следующую команду:

sudo raspi-config

Появится окно, которое будет выглядеть так:

Инструмент настройки

Теперь мы нажмем «Дополнительные параметры», и там мы найдем опцию «Развернуть файловую систему». Выберите этот вариант.

Развернуть файловую систему

Мы будем нажимать Войти кнопку, а затем нажмите Конец кнопка. На этом этапе Raspberry Pi необходимо перезагрузить, чтобы изменения вступили в силу. Введите следующую команду, чтобы перезагрузить его:

перезагрузка sudo

После перезагрузки мы проверим, расширилась ли наша файловая система и все пространство включено на SD-карту или нет. Выполняя df -h команда, мы можем проверить, что наш диск расширился:

Тот, кто использует карту micro SD на 8 ГБ, может использовать 50% доступного пространства, поэтому удаление Wolfram Engine и LibreOffice может освободить около 1 ГБ места. (Помните, что этот шаг не является обязательным).

судоподходящий-получить чисткавольфрам-двигатель судоподходящий-получить чисткаlibreoffice* судоподходящий-получить чистый судоподходящий-получить автоматическое удаление

Шаг 8: Установка зависимостей

Перед тем, как переходить к зависимостям, нам необходимо обновить и обновить существующие пакеты, установленные на Pi:

sudo apt-get update

Потом,

sudo apt-get upgrade

Теперь мы установим некоторые инструменты разработки, которые помогут нам в настройке сборки OpenCV:

судоподходящий-получить установитьстроить-существенныйcmakeупак.-config

Для выполнения различных операций с изображениями нам необходимо загрузить несколько форматов изображений с жесткого диска. Эти форматы включают JPEG, PNG и т. Д. Для загрузки этих форматов изображений мы установим несколько пакетов ввода-вывода:

судоподходящий-получитьустановитьlibjpeg-разработчикlibtiff5-разработчикlibjasper-разработчикlibpng12-разработчик

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

судоподходящий-получить установитьlibavcodec-разработчикlibavformat-разработчикlibswscale-разработчикlibv4l-разработчик судоподходящий-получить установитьlibxvidcore-разработчикlibx264-разработчик

Библиотека OpenCV сопровождает подмодуль с именем Highgui который используется для отображения изображений на экране и создания необходимых графических интерфейсов. Перед компиляцией этого подмодуля нам необходимо установить библиотеку разработки GTK:

судоподходящий-получить установитьlibgtk2.0-разработчикlibgtk-3-разработчик

С изображением можно выполнить несколько матричных операций, проверив размер изображения и затем прочитав значения пикселей. Мы также можем преобразовать эти значения пикселей в двоичную форму, а затем изменить эти двоичные цифры для восстановления изображения. В Raspberry Pi у нас есть некоторые ограничения при вводе данных, поэтому эти библиотеки важны и должны быть установлены. Таким образом, эти результаты можно улучшить, установив дополнительные зависимости:

судоподходящий-получить установитьlibatlas-база-разработчикGfortran

Некоторые люди будут работать над Python 2.7, а некоторые будут работать над Python 3. Для компиляции OpenCV вместе с привязками Python необходимо установить файлы заголовков Python 2.7 и Python 3:

судоподходящий-получить установитьpython2.7-разработчикpython3-разработчик

В новой версии Raspbian Python 3 уже установлен, и в Lx Terminal может появиться сообщение о том, что «Python 3 - уже последняя версия» . Этот шаг важен, потому что мы можем столкнуться с ошибкой относительно файла заголовка с именем Python.h во время выполнения команды сделать для компиляции OpenCV.

Шаг 9: Загрузка исходного кода OpenCV

По завершении установки зависимостей мы будем искать папку архива OpenCV версии 3.3.0 в официальном каталоге OpenCV.

CD ~ wget -ИЛИ ЖЕ opencv.zip https://github.с участием/Itseez/opencv/архив/3.3.0.zip распаковатьopencv.zip

Мы устанавливаем весь пакет OpenCV, поэтому нам нужно включить opencv_contrib также. Скачайте его с официального сайта и распакуйте.

wget -ИЛИ ЖЕ opencv_contrib.zip https://github.с участием/Itseez/opencv_contrib/архив/3.3.0.zip распаковатьopencv_contrib.zip

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

Шаг 10: Python 2.7 или Python 3?

Python 2.7 с точки зрения производительности лучше, чем Python 3, но в OpenCV особой разницы нет. Нам нужно установить пип на Raspberry перед компиляцией OpenCV. Это система управления пакетами, которая используется для установки пакетов программного обеспечения, используемых в Python. Эти пакеты могут присутствовать в последней версии raspbian по умолчанию, но лучше проверить это с помощью следующих команд.

wgethttps://бутстрап.pypa/получить-пип.py судопитонполучить-пип.py судоpython3получить-пип.py

После установки pip настоятельно рекомендуется установить два пакета, которые необходимо установить при работе с OpenCV. Первый - virtualenv, второй - virtualenvwrapper. Мы не можем импортировать OpenCV напрямую в Python, поэтому мы создадим виртуальную среду, а затем будем работать в этой среде. Виртуальная среда - это исключительный инструмент, который используется для сохранения условий, требуемых различными проектами, в отдельных местах путем создания отдельных сред Python для каждого из них.

судопипустановитьvirtualenvvirtualenvwrapper судоrm -рф ~/.cache/пип

После установки этих пакетов нам нужно обновить наш ~/.профиль file, который является скрытым файлом в нашем домашнем каталоге, чтобы включить в него следующие строки. Введите следующую команду, чтобы войти в каталог:

нано~/.профиль

Когда каталог открыт, прокрутите вниз и включите следующие строки:

# virtualenv и virtualenvwrapper экспортWORKON_HOMEзнак равно$ HOME/.virtualenvs экспортVIRTUALENVWRAPPER_PYTHONзнак равно/usr/я/python3 источник /usr/местный/я/virtualenvwrapper.sh

После включения этих строк нажмите ctrl + x, сохраните, нажав И и выйти.

Домашний каталог

Каждый раз, когда мы запускаем терминал и авторизуемся в нашем Pi, этот точечный файл будет автоматически загружен для нас. Поскольку мы уже вошли в систему, мы вручную набираем источник ~ / .profile чтобы загрузить содержимое файла.

Создание виртуальной среды Python: Нам нужно создать виртуальную среду с использованием python 2.7 и python 3.

mkvirtualenvрезюме -п python2

Это создаст среду с именем резюме на Python 2.7. Любой, кто хочет создать среду на Python 3, должен ввести команду, указанную ниже:

mkvirtualenvрезюме -п python3

Проверка того, что мы находимся в виртуальной среде с именем «cv»: Когда мы перезагружаем пи, мы не останемся в виртуальной среде, и нам нужно ввести две упомянутые ниже команды, чтобы перейти в режим виртуальной среды.

источник ~/.профиль работа надрезюме

Изображение ниже показывает, что мы не находимся в режиме виртуальной среды:

LxTerminal

Итак, введя две упомянутые выше команды, мы сможем получить доступ к нашей виртуальной среде. Если мы хотим выйти из виртуальной среды, мы введем deactivate:

Работа в виртуальной среде

Установка NumPy на Raspbian: Единственная зависимость, которая нам нужна для установки OpenCV на Raspberry, - это Numpy. Введите указанную ниже команду, чтобы установить Numpy на Raspberry Pi. На установку потребуется примерно 10 минут:

пипустановитьтупой

Шаг 11: Компиляция и установка OpenCV

Мы скомпилируем и установим OpenCV в виртуальной среде, поэтому убедитесь, что вы работаете в виртуальной среде CV. Если мы не находимся в виртуальной среде, OpenCV не скомпилируется. Теперь измените каталог на домашний каталог, подкаталог открытое резюме 3.3 а затем создайте каталог сборки. После создания каталога сборки вставьте последние пять строк в CMake каталог. Он будет проверять наличие определенных библиотек, установленных путей, версий Python и т. Д.

CD ~/opencv-3.3.0/ mkdir строить CD строить cmake -D CMAKE_BUILD_TYPEзнак равноВЫПУСК  -D CMAKE_INSTALL_PREFIXзнак равно/usr/местный  -D INSTALL_PYTHON_EXAMPLESзнак равноНА  -D OPENCV_EXTRA_MODULES_PATHзнак равно~/opencv_contrib-3.3.0/модули  -D BUILD_EXAMPLESзнак равноНА ..

Тем, кто использует Python 2.7, им придется прокрутить до вывода CMake, найти раздел Python 2.7 и проверить, правильно ли настроены Numpy и пути к пакетам. Те, кто использует Python 3, проверит раздел Python 3 прямо под разделом Python 2:

Проверка раздела Python 2.7

Теперь мы, наконец, готовы к компиляции OpenCV. Введите команду make, и она запустит процесс компиляции. Для компиляции потребуется примерно четыре часа, поэтому предпочтительно начинать компиляцию перед сном, чтобы, когда вы просыпаетесь утром, OpenCV скомпилирован. Если ввести одну команду «make», будет использоваться только одно ядро. Хотя это немного трудоемкий процесс, но вероятность ошибок меньше. Использование команд make -j4 и make -j2 может привести к перегреву Raspberry Pi, а также к ошибкам компиляции:

сделать

Компиляция завершена

Мы установим OpenCV 3 на Raspberry Pi с помощью следующей команды. Выполнение этой команды скопирует соответствующие файлы в их местоположения:

sudo make install

Наша установка будет завершена выполнением этой последней команды:

судоldconfig

Когда мы используем Python 2.7 или Python 3, осталось сделать еще несколько шагов.

Шаг 12: Завершение установки

Вернитесь в домашний каталог, набрав cd ~.

Python 3: Мы свяжем привязки OpenCV с помощью символьной ссылки в нашем cv в каталоге python 3, потому что мы скомпилировали привязки OpenCV и python для python 3.

CD ~/.virtualenvs/резюме/lib/python3.5/сайт-пакеты/ пер -s /usr/местный/lib/python3.5/сайт-пакеты/cv2.так cv2.так

Это оно!. Теперь мы установили OpenCV на Raspberry Pi. Теперь мы проверим его в виртуальной среде.

Шаг 13: Тестирование OpenCV

Откройте LxTerminal и напишите источник команда, за которой следует работа над команда. Когда мы вошли в режим виртуальной среды, мы импортируем привязки OpenCV, набрав python, а затем импортируем cv2. Если нет сообщения об ошибке, это означает, что он был успешно импортирован.

источник ~/.профиль работа надрезюме питон >>импортcv2

После этого мы проверим нашу версию OpenCV, набрав следующую команду:

cv2.__версия__

Тестирование]

Мы установили OpenCV на Raspberry 3B +. Теперь мы можем выполнять множество операций обработки изображений в Python, таких как обнаружение цифр, распознавание лиц и т. Д.