def __init__(self): """Laed alten Zustand aus Sicherungsdatei, Instanziiert immer ein Facedetector- und ein FaceRecognizer-Objekt """ self.NAME_SAVE_FILE = '.save.p' # 3 Zustaende gut, normal, schlecht um z.b. in GUI Textfarbe entsprechend zu setzen self.__GOOD = 1 self.__NORMAL = 0 self.__BAD = -1 # dictionary mit Informationen zu den Personen self.id_infos_dict = {} self.t_sets = db.TrainingSets() self.save_path = self.t_sets.path self.sf = os.path.join(self.save_path, self.NAME_SAVE_FILE) try: self.id_infos_dict = pickle.load(open(self.sf, "rb")) log.debug('Aus Sicherungsdatei gelesenes Dictionary: %s', self.id_infos_dict) except IOError as e: log.info( 'Die Sicherungsdatei wurde nicht gefunden. Beim ersten Programmstart korrekt.: %s', self.sf) except: log.exception( 'Unerwarteter Fehler beim lesen der Sicherungsdatei: %s', self.sf) # ID Infos aus Sicherungsdatei und von Platte zusammenfuehren self.id_infos_dict = self.t_sets.get_id_infos_dict(self.id_infos_dict) # Facedetekor-Objekt self.detect = fd() self.fr = fr.FaceRecognizer() try: [face_images, face_ids] = self.t_sets.get_all_faces() except: log.exception("Fehler beim laden der Bilder geladen werden") if len(face_images) != 0: self.fr.trainFisherFaces(face_ids, face_images) else: log.info("Training Set ist leer, Okay beim ersten Programmstart") self.running_face_recognition = False self.running_save_face = False self.observer = [] # Text der in Info-Zeile der GUI erscheint self.info_text = '' # -1, 0, 1 schlecht, normal, gut self.state = self.NORMAL
def __init__(self): """Laed alten Zustand aus Sicherungsdatei, Instanziiert immer ein Facedetector- und ein FaceRecognizer-Objekt """ self.NAME_SAVE_FILE = '.save.p' # 3 Zustaende gut, normal, schlecht um z.b. in GUI Textfarbe entsprechend zu setzen self.__GOOD = 1 self.__NORMAL = 0 self.__BAD = -1 # dictionary mit Informationen zu den Personen self.id_infos_dict = {} self.t_sets = db.TrainingSets() self.save_path = self.t_sets.path self.sf = os.path.join(self.save_path,self.NAME_SAVE_FILE) try: self.id_infos_dict = pickle.load(open(self.sf, "rb" )) log.debug('Aus Sicherungsdatei gelesenes Dictionary: %s', self.id_infos_dict) except IOError as e: log.info('Die Sicherungsdatei wurde nicht gefunden. Beim ersten Programmstart korrekt.: %s', self.sf) except: log.exception('Unerwarteter Fehler beim lesen der Sicherungsdatei: %s', self.sf) # ID Infos aus Sicherungsdatei und von Platte zusammenfuehren self.id_infos_dict = self.t_sets.get_id_infos_dict(self.id_infos_dict) # Facedetekor-Objekt self.detect = fd() self.fr = fr.FaceRecognizer() try: [face_images, face_ids] = self.t_sets.get_all_faces() except: log.exception("Fehler beim laden der Bilder geladen werden") if len(face_images) != 0: self.fr.trainFisherFaces(face_ids, face_images) else: log.info("Training Set ist leer, Okay beim ersten Programmstart") self.running_face_recognition = False self.running_save_face = False self.observer = [] # Text der in Info-Zeile der GUI erscheint self.info_text = '' # -1, 0, 1 schlecht, normal, gut self.state = self.NORMAL
def __init__(self): """Instanziiert immer ein Facedetector- und ein FaceRecognizer-Objekt. id_infos_dict {id = {'self.t_sets.KEY_NAME'='Pascal', self.t_sets.KEY_COUNT=0}, ... } TrainingSets besitzt die Keys-des Dictionaries als Konstanten. """ self.NAME_SAVE_FILE = '.save.p' # dictionary mit Informationen zu den Personen self.id_infos_dict = {} self.t_sets = db.TrainingSets() self.save_path = self.t_sets.path self.sf = os.path.join(self.save_path,self.NAME_SAVE_FILE) try: self.id_infos_dict = pickle.load(open(self.sf, "rb" )) pp('unpickle %s' % self.id_infos_dict) log.debug('Aus Sicherungsdatei gelesenes Dictionary: %s', self.id_infos_dict) except IOError as e: log.info('Die Sicherungsdatei wurde nicht gefunden. Beim ersten Programmstart korrekt.: %s', self.sf) except: log.exception('Unerwarteter Fehler beim lesen der Sicherungsdatei: %s', self.sf) self.id_infos_dict = self.t_sets.get_id_infos_dict(self.id_infos_dict) # Facedetekor-Objekt self.detect = fd() self.fr = fr.FaceRecognizer() try: [face_images, face_ids] = self.t_sets.get_all_faces() except: log.exception("Es konnten keine Bilder geladen werden") raise if len(face_images) != 0: self.fr.trainFisherFaces(face_ids, face_images) else: log.info("Training Set ist leer oder Bilder können nicht geladen werden") self.trigger_rec = False self.trigger_save = False self.observer = [] # Text der in Info-Zeile der GUI erscheint self._info_text = ''