def delete(request): captured = False while not captured: try: if request.method == 'POST': if request.POST.get('id'): enrolled_id = request.POST.get('id') obj = Details.objects.get(pk=enrolled_id) os.remove("media/" + str(obj.image)) obj.delete() kairos_face.remove_face(subject_id=str(enrolled_id), gallery_name='a-gallery') messages.add_message(request, messages.SUCCESS, 'Successfully deleted!') if request.POST.get('delete'): global remove_gallery_1 remove_gallery_1 = kairos_face.remove_gallery('a-gallery') Details.objects.all().delete() messages.add_message(request, messages.SUCCESS, 'Gallery deleted!') captured = True return render(request, 'delete.html') except kairos_face.exceptions.ServiceRequestError: messages.add_message(request, messages.ERROR, 'Database is empty! Please enroll details') return render(request, 'delete.html') except ValueError: messages.add_message(request, messages.ERROR, 'Please enter a valid ID') return render(request, 'delete.html') except ObjectDoesNotExist: messages.add_message( request, messages.ERROR, 'Error occured. Either DB is empty or the ID does not exist') return render(request, 'delete.html')
def initKairos(self): # clear current Kairos gallery get_galleries_response = kairos_face.get_galleries_names_list() if self.targetGallery in get_galleries_response['gallery_ids']: kairos_face.remove_gallery(gallery_name=self.targetGallery) # initialize gallery with preset images if not os.path.exists('image/preset_image'): raise Exception if not os.path.exists('image/preset_face'): os.mkdir('image/preset_face') image_paths = glob.glob(os.path.join('image/preset_image/', "*")) for image_path in image_paths: image_path = image_path.replace("\\", "/") # Windows compatible file_name = image_path.split("/")[2] person_name = file_name.split(".")[0] img = cv2.imread(image_path, 3) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = self.faceCascade.detectMultiScale(gray, 1.3, 5) # zero or multiple faces detected if len(faces) != 1: print("Error: " + file_name + " " + str(len(faces)) + " faces detected!\n") # one face detected else: (x, y, w, h) = faces[0] crop_img = img[y:y + h, x:x + w] # write cropped face image crop_img_path = 'image/preset_face/' + file_name cv2.imwrite(crop_img_path, crop_img) # enroll cropped face images (not preset images) print("Enrolling: " + crop_img_path + " => " + person_name + "\n") enroll_face_response = kairos_face.enroll_face( file='image/preset_face/' + file_name, subject_id=person_name, gallery_name=self.targetGallery) #print(enroll_face_response) face_id = enroll_face_response['face_id']
def clear_faces(galleryName=None): try: #dict_responJSON = {} dict_responJSON = kairos_face.remove_gallery(galleryName) print(dict_responJSON) """ status=Complete """ if dict_responJSON['status'] == 'Complete': dict_faces = {'cnt': 1} else: dict_faces = {'cnt': 0} dict_responJSON = dict_faces except Exception, err: if err.__class__ == kairos_face.exceptions.ServiceRequestError: dict_responJSON = { 'error': err.response_msg['Errors'][0]['Message'] } else: dict_responJSON = {'error': str(err)}
if 'Errors' in ans: print ans['Errors'][0]['Message'] elif len(ans['images'][0]['candidates']) == 0: print "Nobody found! Time to enroll!" enr = kairos_face.enroll_face( file='image.png', subject_id=raw_input("What is your name: "), gallery_name='test') else: print "Hello " + ans['images'][0]['transaction']['subject_id'] + "!" except: #Runs if gallery not found (database dumped) print "Nobody found! Time to enroll!" try: enr = kairos_face.enroll_face( file='image.png', subject_id=raw_input("What is your name: "), gallery_name='test') print enr except: print "An error occurred. Please try again." #Drop database to redo pictures and recognition if raw_input("Dump database? (y/n): ") == 'y': try: kairos_face.remove_gallery('test') print "Gallery deleted." except: print "Gallery does not exist." cont = raw_input("Continue? (y/n): ") if cont == 'n': break
|\t\taddPeople: {} |\t\ttestPeople: {}'''.format( database, remove_database, NumberOfFacesPerPerson, NumberOfPersonsInDB, verbose, chillMode, addPeople, testPeople )) print('-----------------------------------------------------------\n') #------------------------------------------------------------------------------# if remove_database: try: remove_gallery = kairos_face.remove_gallery(database) except Exception as e: if verbose: print(bcolors.FAIL + "ERROR REMOVE DB: {}".format(e) + bcolors.ENDC) else: pass galleries_list = kairos_face.get_galleries_names_list() if verbose: print('List of available galleries: {}\n'.format(json.dumps(galleries_list["gallery_ids"]))) faces, NumberOfFaces = get_faces(verbose) peopleDB = None testData = [] #print faces
def remog(gname): '''Takes argument gname=gallery_name to be deleted''' #passing gallery_name to be deleted remove_gallery = kf.remove_gallery(gname)
def clearData(galleryName): remove_gallery = kairos_face.remove_gallery(galleryName)