Подключение камеры к Raspberry Pi
Примеры подключения камеры через Python
Инсталляция OpenCV
Запуск OpenCV программ на Python
Полезные ссылки
Подключение камеры к Raspberry Pi
Приобретаю недорогую камеру для Raspberry Pi OV5647 через интернет. Подключаю камеру к ранее установленному микрокомпьютеру Raspberry Pi B4Gb.
Для испытания использую встроенные утилиты raspistill и raspivid, которые вводятся в командной строке (command in the Terminal) и служат для захвата фото и видео соответственно.
raspistill -vf -hf -o cam2.jpg
Примеры подключения камеры через Python
Пример 1. Видеозахват камерой на 10 сек.
# подключаем необходимые библиотеки from picamera import PiCamera from time import sleep # создаём объект для работы с камерой camera = PiCamera() # запускаем просмотр сигнала с камеры на экране поверх всех окон camera.start_preview() # 10 секунд смотрим на экран sleep(10) # выключаем просмотр camera.stop_preview()
Пример 2. Сохраняем фотографию с камеры
from picamera import PiCamera
from time import sleep
camera = PiCamera()
camera.start_preview()
# даём камере три секунды на автофокусировку
sleep(3)
# делаем снимок и сохраняем его на рабочий стол
camera.capture('/home/pi/Desktop/image.jpg')
camera.stop_preview()
Пример 3. Режим видеокамеры — снимаем минутный ролик
from picamera import PiCamera from time import sleep camera = PiCamera() camera.start_preview() # Начинаем запись видеофайла camera.start_recording('/home/pi/Desktop/video.h264') # Минуту пишем потоковое видео camera.wait_recording(60) camera.stop_recording() camera.stop_preview()
Подробнее см. Настройка и примеры работы камер для Raspberry Pi.
Инсталляция OpenCV
Сначала установку OpenCV проводил в соответствии инструкцией, изложенной в статье Raspberry Pi 3: OpenCV + Python (#1) — установка библиотеки для использования с Python, только в тексте ряда команд изменял OpenCV 3.4.0 на OpenCV 4.2.0 (последняя из версий).
При инсталляции задействовал только одно ядро (make -j1), чтобы не перегревался процессор. После ввода команды make -j1 можно заняться другими делами, длительность инсталляции более 3 часов.
Для проверки, что инсталляция прошла успешно, в оболочке Shell редактора Thornny запустил пару строк:
>> import cv2
>>> cv2.__version__
‘4.2.0’
>>>
Следующий тест проводил с приложением:
# import the necessary packages
from picamera.array import PiRGBArray
from picamera import PiCamera
import time
import cv2
# initialize the camera and grab a reference to the raw camera capture
camera = PiCamera()
rawCapture = PiRGBArray(camera)
# allow the camera to warmup
time.sleep(0.1)
# grab an image from the camera
camera.capture(rawCapture, format="bgr")
image = rawCapture.array
# display the image on screen and wait for a keypress
cv2.imshow("Image", image)
cv2.waitKey(0)
Приложение остановилось на cv2.imshow… , получил error со следующим текстом: ...install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvShowImage…
Долго искал в сети способ, как избавиться от этой ошибки, наконец нашел (см. Ошибка при выполнении opencv в ubuntu). Удалил папку OpenCV со всем содержимым. Затем заново выполнил инсталляцию OpenCV в следующей последовательности:
- git clone https://github.com/opencv/opencv.git
- cd ~/opencv
- mkdir release
- cd release
- cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
- make -j1
- sudo make install
- sudo ldconfig
Инсталляция закончилась успешно — приложение запустилось.
Не у всех приложение запускается гладко. Комментарий посетителя сайта: «На 3 шаге (mkdir release) получаю ошибку – permission denied». Ему помогло “sudo mkdir release”.
Определил, какая версия установилась:
>> import cv2
>>> cv2.__version__
‘4.3.0-pre’
>>>
Возможно, эта версия OpenCV установилась бы без ошибки и по первой инструкции. Такое предположение не проверял, поскольку слишком много времени занимает инсталляция (около 4-х часов).
Запуск OpenCV программ на Python
В статье Обнаружение лица и выделение характерных точек. приводятся две программы, в которых используется OpenCV:
Обе программы тестировались из Visual Studio редактора в операционной системе Windows10. При запуске второй программы подключалась web камера, встроенная в ноутбук.
Эти программы запускаются и на Raspberry Pi (практически без изменения кода). Необходимо лишь загрузить предварительно обученную модель для фронтального распознавания лиц haarcascade_frontalface_default.xml. и файл изображения test1.jpg (для запуска первой программы). Загруженные файлы помещаются в рабочий каталог, где находятся и файлы кода (с расширением .py).
В папке /home/pi/opencv/data находятся различные каскады Хаара
Изображение с Raspberry Pi камеры получается перевернутым. Как привести его в нормальное состояние рассмотрено в статье Основные операции с изображениями в OpenCV 3 Python.
В папке /home/pi/opencv/ samples/python вы можете найти еще около 20 приложений с применением OpenCV.
Инсталляция библиотек
См.
Полезные ссылки:
- Что такое лидар
- Илон Маск: «Лидар это потеря времени
- Using a Wyze Cam with OctoPrint on a Raspberry Pi
- Как собрать простую систему распознавания лиц в режиме реального времени
- Мобільна навігаційна система з застосуванням маркерів
- Робот-танк на Raspberry Pi с OpenCV
- Building an Image Classifier Running on Raspberry Pi
- Face Detection and Recognition on the ESP32
- RaspiCam: C++ API for using Raspberry camera with/without OpenCv
- Getting started with image classification on Raspberry Pi using C++
- Изучаем OpenCV на StereoPi: карта глубин по видео
- Робот-танк на Raspberry Pi с OpenCV
- Основные операции с изображениями в OpenCV 3 Python
- Ошибка при выполнении opencv в ubuntu
- Как включить libgtk2.0-dev и pkg-config в cmake при установке openCV в Ubuntu 16
- Как собрать простую систему распознавания лиц в режиме реального времени
- Turning a Raspberry Pi 3B+ into a powerful object recognition edge server with Intel Movidius NCS2
- Perf Machine Learning on Rasp Pi
- Raspberry Pi + USB Web-камера. Потоковое видео (стрим)
- Face Recognition on Jetson Nano using TensorRT
- Computer vision with Raspberry Pi and alternatives in 2019
- Raspberry Pi 3: OpenCV + Python (#1) — установка библиотеки для использования с Python
- Замок с распознаванием лиц на Orange Pi с OpenCV и Python
- Распознавание лиц с помощью OpenCV и Raspberry Pi
- OpenCV with Raspberry Pi Camera Face Detection Tutorial — Robotics with Python Raspberry Pi and GoPiGo p.7
- Install OpenCV 4 on Raspberry Pi
- Установка OpenCV в Linux
- Optimizing OpenCV on the Raspberry Pi
- Arduino или Raspberry Pi: как выбрать контроллер для проекта
- Сундучок на базе Raspberry Pi, который распознает ваше лицо
- Настройка и примеры работы камер для Raspberry Pi
- Raspberry Pi 3: Камера (#1) – введение, подключение, базовые утилиты
- Виктор Кравченко Raspberry Pi OpenCV и другое
- Андрей. OpenCV. #2 Распознавание цветных объектов
- Accessing the Raspberry Pi Camera with OpenCV and Python
- Object detection with Raspberry Pi and Python