Skocz do zawartości

Wycinanie twarzy z video do jpg


Mkamil52020

Pomocna odpowiedź

Cześć, próbuję napisać program który będzie nagrywał video przez kamerę laptopa i na bieżąco wycinał z niego twarze i zapisywał w jpg. Mam dwa kody jeden do nagrywania video:

import cv2
import numpy as np
import datetime
import os

now = datetime.datetime.now()

def video_recorder():
    cap = cv2.VideoCapture(0)
    width= int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
    height= int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

    writer= cv2.VideoWriter('memory/video/' + 'video' + now.strftime("%Y%m%d%H%M%S") + '.avi' , cv2.VideoWriter_fourcc(*'DIVX'), 20, (width,height))

    while True:
        ret,frame= cap.read()

        writer.write(frame)
    
    cap.release()
    writer.release()
    
video_recorder()

i drugi do rozpoznawania twarzy:

import numpy as np
import cv2
def face_recognision():
    face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')
 
    cap = cv2.VideoCapture(0)
 
    while(True):
        ret, img = cap.read()
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        faces = face_cascade.detectMultiScale(gray, scaleFactor=1.05, minNeighbors=5)
 
        for (x,y,w,h) in faces:
            cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
 
        cv2.imshow('podglad',img)
        if cv2.waitKey(30) & 0xFF == ord('w'): 
            break
 
    cap.release()
    cv2.destroyAllWindows()
    
face_recognition()

ale nie wiem jak to połączyć i dodać zapisywanie twarzy. Proszę o pomoc.

Link do komentarza
Share on other sites

Obejrzyj te linki: 

https://forbot.pl/blog/opencv-3-detekcja-i-rozpoznawanie-twarzy-id5664

https://miroslawmamczur.pl/wykrywanie-twarzy-real-time-w-15-liniach-kodu-w-python/

 

A jak zrobisz zaznaczenie to wtedy podpinasz to do czarnej ramki i zapisujesz w jpg 😉

Edytowano przez Zakrzewiaczek
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.