Доступ к камере Raspberry Pi с помощью библиотеки OpenCV на языке программирования Python
Для работы с фото-, видеоизображением нам понадобится установить на наш контроллер (плата Raspberry Pi) несколько программных пакетов, в том числе:
Python 3 | язык программирования Python 3 и IDE (среда разработки для него) | |
Библиотека NumPy для языка Python 3 | эта библиотека позволит нам эффективно работать с массивами данных. Все изображения с нашей видеокамеры будем преобразовывать в массив данных , где каждому пикселю на изображении соответствует свой элемент массива с опреденным значением (интенсивностью цвета). | |
Библиотека OpenCV для Python 3 | библиотека для работы с изображениями и видео. | |
Набор дополнительных кодеков и инструментов | набор библиотек для работы с различными форматами изображений (jpeg, tiiff и др.) и видео (mp4, xvid, h264) и другие. |
Так как данные пакеты не установлены в системе raspbian по умолчанию, нам придется сделать это вручную. Приступим!
1.1. Установка зависимостей
Начнем с проверки наличия обновления и их установки:
sudo apt-get update
sudo apt-get upgrade
На диске понадобиться место , чтобы определить какие пакеты занимают больше всего места , можно воспользоваться удобным скриптом:
dpkg-query -W --showformat='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
Удалить ненужные пакеты можно с помощью команды. Например, приведенная ниже команда удаляет wolfram engine:
sudo apt-get purge wolfram-engine
Далее устанавливаем необходимую среду разработки и пакеты:
sudo apt-get install build-essential cmake pkg-config
Устанавливаем пакеты для работы с форматами изображений JPEG, PNG, TIFF, и т.д.
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
Установка пакетов для работы с различными форматами видео:
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev 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
1.2 Менеджер пакетов pip и библиотека numpy
Установим менеджер пакетов pip с его помощью мы сможем легко устанавливать дополнительные библиотеки для языка python
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Для работы в python 3 рекомендуем установить pip3:
sudo apt install python3-pip
Установим библиотеку для работы с массивами данных на языке python (именно в числовой массив мы будем преобразовывать наши изображения для их последующей обработки:
pip3 install numpy
1.3 Скачиваем и устанавливаем OpenCV
Мы установим библиотеку opencv с помощью менеджера библиотек для языка python — pip, который скачивали ранее. Это займет не больше минуты.
pip3 install opencv-python
В интернете вы можете найти инструкции в которых библиотеку opencv рекомендуют собирать с помощью пакета cmake, но , во-первых, это занимает много времени, от двух часов, во-вторых, потребует от вас длительных танцов с бубном.
На дату написания данной статьи на плату Raspberry Pi 3b+, с установленной операционной системой Raspbian stratch мы успешно установили OpenCV версии 3.4.4 через менеджер библиотек pip.
2. Проверяем установленное программное обеспечение (библиотека OpenCV и среда разработки Python3) в работе.
2.1 Проверка OpenCV и Python.
Запускаем среду разработки Python3 через меню. Также, возможно сделать это через командную строку прописав в ней:
python3
Теперь выполним простейший алгоритм с использованием библиотеки OpenCV. Сначала, загрузим библиотеку:
import cv2
Затем запросим у интерпретатора версию данной библиотеки:
cv2.__version__
Если она установлена , вы получите в ответ: «3.4.4». Либо другую версию, если вы устанавливали ее. Это значит, что все установилось корректно.
2.2 Удаляем временные файлы и восстанавливаем размер файла подкачки.
Полезные ссылки:
- Инструкция по подключению камеры , установке и настройке opencv и python на raspberry pi на английском: https://www.pyimagesearch.com/2015/02/23/install-opencv-and-python-on-your-raspberry-pi-2-and-b/
- Инструкция по установке и настройке opencv на raspberry pi на русском: http://robotclass.ru/articles/raspberrypi-3-opencv-3-install/
- Еще одна краткая инструкция как установить opencv3 на python3 на английском https://www.deciphertechnic.com/install-opencv-python-on-raspberry-pi/