def upload(): file = request.files['image'] # Read image image = read_image(file) # Recognize faces classifier_model_path = "models" + os.sep + "lotr_mlp_10c_recognizer.pickle" label_encoder_path = "models" + os.sep + "lotr_mlp_10c_labelencoder.pickle" faces = recognize_faces(image, classifier_model_path, label_encoder_path, detection_api_url=app.config["DETECTION_API_URL"]) # Draw detection rects draw_rectangles(image, faces) # Prepare image for html to_send = prepare_image(image) return render_template('index.html', face_recognized=len(faces)>0, num_faces=len(faces), image_to_show=to_send, init=True)
def upload(): file = request.files['image'] # Read image image = read_image(file) # Detect faces faces = detect_faces_with_ssd(image) # Draw detection rects num_faces, image = draw_rectangles(image, faces) # Prepare image for html to_send = prepare_image(image) return render_template('index.html', face_detected=len(faces)>0, num_faces=len(faces), image_to_show=to_send, init=True)
# extract embeddings classes_dir = "images" + os.sep + "lotr" + os.sep + "train" + os.sep + "10_classes" embeddings_path = "images" + os.sep + "lotr" + os.sep + "train" + os.sep + "embeddings.pickle" extract_embeddings(classes_dir, embeddings_path) # train nb classifier classifier_model_path = "models" + os.sep + "lotr_nb_recognizer.pickle" label_encoder_path = "models" + os.sep + "lotr_nb_le.pickle" train_nb_model(embeddings_path, classifier_model_path, label_encoder_path) # train svm classifier classifier_model_path = "models" + os.sep + "lotr_svm_recognizer.pickle" label_encoder_path = "models" + os.sep + "lotr_svm_le.pickle" train_svm_model(embeddings_path, classifier_model_path, label_encoder_path) # train mlp classifier classifier_model_path = "models" + os.sep + "lotr_mlp_recognizer.pickle" label_encoder_path = "models" + os.sep + "lotr_mlp_le.pickle" train_mlp_model(embeddings_path, classifier_model_path, label_encoder_path) # recognize face file_path = "images" + os.sep + "lotr" + os.sep + "test" + os.sep + "raw" + os.sep + "legolas6.jpg" image = cv2.imread(file_path) image = imutils.resize(image, width=600) recognitions = recognize_faces(image, classifier_model_path, label_encoder_path) draw_rectangles(image, recognitions) cv2.imshow("recognition result", image) cv2.waitKey()