Training file
This commit is contained in:
		
							parent
							
								
									83f3765bf1
								
							
						
					
					
						commit
						5be9de9554
					
				
							
								
								
									
										28
									
								
								Trainer.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Trainer.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
			
		||||
from time import sleep
 | 
			
		||||
from io import BytesIO
 | 
			
		||||
import cv2
 | 
			
		||||
import numpy as np
 | 
			
		||||
 | 
			
		||||
def train(label, path):
 | 
			
		||||
    try:
 | 
			
		||||
        face_recognizer = cv2.createLBPHFaceRecognizer()
 | 
			
		||||
        face_recognizer.load('/faces/hesham-saeed2')
 | 
			
		||||
    except:
 | 
			
		||||
        print('[ Error ] Problem in init/loading LBPHfacerecognizer')
 | 
			
		||||
    images = []
 | 
			
		||||
    labels = []
 | 
			
		||||
    image_names = os.listdir(path)
 | 
			
		||||
    for image_name in image_names:
 | 
			
		||||
        if image_name.startswith('.'):
 | 
			
		||||
            continue;
 | 
			
		||||
        image_path = train_path + image_name
 | 
			
		||||
		image = cv2.imread(image_path)
 | 
			
		||||
		gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
 | 
			
		||||
        face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
 | 
			
		||||
        faces = face_cascade.detectMultiScale(gray, 1.3, 5)
 | 
			
		||||
        for (x,y,w,h) in faces:
 | 
			
		||||
            images.append(gray[y:y+h, x:x+w])
 | 
			
		||||
            labels.append(label)
 | 
			
		||||
        face_recognizer.train(images, np.array(labels))
 | 
			
		||||
    
 | 
			
		||||
        
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user