Загрузить файлы в «/»

This commit is contained in:
Евгений Иванцов 2024-06-24 18:37:03 +00:00
commit 87f2225526
4 changed files with 88 additions and 0 deletions

29
face_search.py Normal file
View File

@ -0,0 +1,29 @@
import cv2
import numpy as np
# Загрузка модели HOG + SVM
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# Функция для поиска лиц на изображении
def find_faces(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
# Рисование прямоугольников вокруг обнаруженных лиц
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
return image
# Загрузка изображения
image = cv2.imread('image.jpg')
# Поиск лиц на изображении
detected_image = find_faces(image)
# Отображение результата
cv2.imshow('Detected Faces', detected_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

36
face_search_cam.py Normal file
View File

@ -0,0 +1,36 @@
import cv2
# Загрузка модели HOG + SVM
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# Функция для поиска лиц на изображении
def find_faces(image):
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
# Рисование прямоугольников вокруг обнаруженных лиц
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2)
return image
# Захват видео с веб-камеры
cap = cv2.VideoCapture(0)
while(True):
# Чтение кадра с камеры
ret, frame = cap.read()
# Поиск лиц на кадре
detected_frame = find_faces(frame)
# Отображение результата
cv2.imshow('Detected Faces', detected_frame)
# Прерывание цикла при нажатии клавиши 'q'
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# Освобождение ресурсов
cap.release()
cv2.destroyAllWindows()

23
haarcascade.py Normal file
View File

@ -0,0 +1,23 @@
import cv2
# Загрузка изображения
image = cv2.imread('image.jpg')
print(image)
# Преобразование изображения в оттенки серого
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# Загрузка каскадного классификатора для поиска лиц
face_cascade = cv2.CascadeClassifier(r'haarcascade_frontalface_default.xml')
print(face_cascade)
# Обнаружение лиц на изображении
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
# Рисование прямоугольников вокруг найденных лиц
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)
# Отображение результата
cv2.imshow('Результат', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Binary file not shown.