Создание базы данных распознавания лиц с использованием Python - PullRequest
0 голосов
/ 02 сентября 2018

Я разрабатываю программы, которые собирают изображения человека с помощью цикла, чтобы обучить их распознаванию лиц в python, но он просто зависает и не движется дальше после нескольких снимков, я даже попытался добавить задержка между циклами с использованием time.sleep (0.5), но это не сработало. Простое распознавание лиц работает без проблем, но сбор данных работает. Вот мой код.

import time
import cv2
Id=input("Enter Your ID: ")
name=input("Enter Your name: ")
cam = cv2.VideoCapture(0)
harcascadePath = "haarcascade_frontalface_default.xml"
detector=cv2.CascadeClassifier(harcascadePath)
sampleNum=0
while(True):
    time.sleep(1)
    ret, img = cam.read()
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    faces = detector.detectMultiScale(gray, 1.3, 5)
    for (x,y,w,h) in faces:
        cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)        
        sampleNum=sampleNum+1
        cv2.imwrite(name +"."+str(Id) +'.'+ str(sampleNum) + ".jpg", gray[y:y+h,x:x+w])
        cv2.imshow('frame',img)
    if cv2.waitKey(100) & 0xFF == ord('q'):
        break
    elif sampleNum>30:
        break
cam.release()
cv2.destroyAllWindows()
  • Я добавил задержку в начале каждого цикла, чтобы она работала лучше, но это не помогло.
  • Мне нужно взять 30 образцов в базе данных, соответствующих каждому образцу.
  • клавиша 'q' предназначена для прекращения выполнения, как видно из кода выше.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...