Для выполнения обнаружения лиц (Face Detection) на Raspberry Pi с использованием OpenCV и Python, вам потребуется установить необходимые библиотеки и написать скрипт для обнаружения лиц. Вот пошаговое руководство.

Обновите систему и установите необходимые пакеты:
sudo apt update
sudo apt upgrade
sudo apt install python3 python3-pip
Установите OpenCV:
sudo apt install python3-opencvУстановите дополнительные библиотеки (если необходимо):
pip3 install numpyСоздайте новый Python файл, например face_detection.py, и вставьте следующий код:
import cv2
# Загрузка классификатора каскадов Хаара для детекции лиц
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
# Инициализация захвата видео с камеры
cap = cv2.VideoCapture(0)
while True:
# Чтение кадра из видеопотока
ret, frame = cap.read()
# Преобразование изображения в оттенки серого
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Обнаружение лиц на изображении
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
# Отрисовка прямоугольников вокруг обнаруженных лиц
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 0, 0), 2)
# Отображение видеопотока с детекцией лиц
cv2.imshow('Face Detection', frame)
# Прерывание цикла по нажатию клавиши 'q'
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Освобождение ресурсов
cap.release()
cv2.destroyAllWindows()
Сохраните файл и запустите его:
python3 face_detection.pyОбъяснение кода:
- Импортируем необходимые библиотеки: cv2 для OpenCV
- Загружаем классификатор Хаара: Это предварительно обученная модель для детекции лиц
- Инициализируем захват видео с камеры: Используем OpenCV для захвата видеопотока с камеры Raspberry Pi
- Читаем кадр и преобразуем его в оттенки серого: Это необходимо для работы классификатора Хаара
- Обнаруживаем лица: Используем метод detectMultiScale для нахождения лиц на изображении
- Рисуем прямоугольники вокруг лиц: Отмечаем обнаруженные лица прямоугольниками
- Отображаем видеопоток: Показ видеопотока с выделенными лицами
- Прерываем цикл по нажатию клавиши 'q': Это позволяет остановить программу
Теперь у вас есть базовый скрипт для обнаружения лиц на Raspberry Pi с использованием OpenCV и Python. Вы можете дальше улучшать и настраивать его под свои нужды.
© digitrode.ru