def train(self):
""" Entraînement du jeu de données
Méthode à surcharger
"""
logging.info("Entraînement du trainset...")
#self.model = cv2.createFisherFaceRecognizer()
#self.model = cv2.createEigenFaceRecognizer()
self.model = cv2.createLBPHFaceRecognizer()
#self.model = cv2.createLBPHFaceRecognizer(radius = 1, grid_x = 6, grid_y = 6)
self.model.train(numpy.asarray(self.trainset_images), numpy.asarray(self.trainset_index))
python类createFisherFaceRecognizer()的实例源码
def model(algorithm, thresh):
# set the choosen algorithm
model = None
if is_cv3():
# OpenCV version renamed the face module
if algorithm == 1:
model = cv2.face.createLBPHFaceRecognizer(threshold=thresh)
elif algorithm == 2:
model = cv2.face.createFisherFaceRecognizer(threshold=thresh)
elif algorithm == 3:
model = cv2.face.createEigenFaceRecognizer(threshold=thresh)
else:
print("WARNING: face algorithm must be in the range 1-3")
os._exit(1)
else:
if algorithm == 1:
model = cv2.createLBPHFaceRecognizer(threshold=thresh)
elif algorithm == 2:
model = cv2.createFisherFaceRecognizer(threshold=thresh)
elif algorithm == 3:
model = cv2.createEigenFaceRecognizer(threshold=thresh)
else:
print("WARNING: face algorithm must be in the range 1-3")
os._exit(1)
return model
def __init__(self):
self.node_name = "face_recog_fisher"
rospy.init_node(self.node_name)
rospy.on_shutdown(self.cleanup)
self.bridge = CvBridge()
self.face_names = StringArray()
self.all_names = StringArray()
self.size = 4
face_haar = 'haarcascade_frontalface_default.xml'
self.haar_cascade = cv2.CascadeClassifier(face_haar)
self.face_dir = 'face_data_fisher'
self.model = cv2.createFisherFaceRecognizer()
# self.model = cv2.createEigenFaceRecognizer()
(self.im_width, self.im_height) = (112, 92)
rospy.loginfo("Loading data...")
# self.fisher_train_data()
self.load_trained_data()
rospy.sleep(3)
# self.img_sub = rospy.Subscriber("/asus/rgb/image_raw", Image, self.img_callback)
self.img_sub = rospy.Subscriber("/usb_cam/image_raw", Image, self.img_callback)
# self.img_pub = rospy.Publisher('face_img', Image, queue_size=10)
self.name_pub = rospy.Publisher('face_names', StringArray, queue_size=10)
self.all_names_pub = rospy.Publisher('all_face_names', StringArray, queue_size=10)
rospy.loginfo("Detecting faces...")
def __init__(self):
self.node_name = "train_faces_eigen"
rospy.init_node(self.node_name)
rospy.on_shutdown(self.cleanup)
self.bridge = CvBridge()
self.size = 4
face_haar = 'haarcascade_frontalface_default.xml'
self.haar_cascade = cv2.CascadeClassifier(face_haar)
self.face_dir = 'face_data_eigen'
self.face_name = sys.argv[1]
self.path = os.path.join(self.face_dir, self.face_name)
# self.model = cv2.createFisherFaceRecognizer()
self.model = cv2.createEigenFaceRecognizer()
self.cp_rate = 5
if not os.path.isdir(self.path):
os.mkdir(self.path)
self.count = 0
self.train_img_sub = rospy.Subscriber("/usb_cam/image_raw", Image, self.img_callback)
# self.train_img_pub = rospy.Publisher('train_face', Image, queue_size=10)
rospy.loginfo("Capturing data...")
def __init__(self):
self.node_name = "train_faces_fisher"
rospy.init_node(self.node_name)
rospy.on_shutdown(self.cleanup)
self.bridge = CvBridge()
self.size = 4
face_haar = 'haarcascade_frontalface_default.xml'
self.haar_cascade = cv2.CascadeClassifier(face_haar)
self.face_dir = 'face_data_fisher'
self.face_name = sys.argv[1]
self.path = os.path.join(self.face_dir, self.face_name)
self.model = cv2.createFisherFaceRecognizer()
# self.model = cv2.createEigenFaceRecognizer()
self.cp_rate = 5
if not os.path.isdir(self.path):
os.mkdir(self.path)
self.count = 0
self.train_img_sub = rospy.Subscriber("/usb_cam/image_raw", Image, self.img_callback)
# self.train_img_pub = rospy.Publisher('train_face', Image, queue_size=10)
rospy.loginfo("Capturing data...")
def __init__(self):
self.node_name = "face_recog_eigen"
rospy.init_node(self.node_name)
rospy.on_shutdown(self.cleanup)
self.bridge = CvBridge()
self.face_names = StringArray()
self.size = 4
face_haar = 'haarcascade_frontalface_default.xml'
self.haar_cascade = cv2.CascadeClassifier(face_haar)
self.face_dir = 'face_data_eigen'
# self.model = cv2.createFisherFaceRecognizer()
self.model = cv2.createEigenFaceRecognizer()
(self.im_width, self.im_height) = (112, 92)
rospy.loginfo("Loading data...")
# self.fisher_train_data()
self.load_trained_data()
rospy.sleep(3)
# self.img_sub = rospy.Subscriber("/asus/rgb/image_raw", Image, self.img_callback)
self.img_sub = rospy.Subscriber("/usb_cam/image_raw", Image, self.img_callback)
# self.img_pub = rospy.Publisher('face_img', Image, queue_size=10)
self.name_pub = rospy.Publisher('face_names', StringArray, queue_size=10)
self.all_names_pub = rospy.Publisher('all_face_names', StringArray, queue_size=10)
rospy.loginfo("Detecting faces...")