python + opencv

os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。

image_paths = [os.path.join(path, f) for f in os.listdir(path)]

['dataSet\\User.0.1.jpg', 'dataSet\\User.0.10.jpg', 'dataSet\\User.0.11.jpg'.......]

image_id = int(os.path.split(image_path)[-1].split(".")[1])

获取.之前的数字/字母   

recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.read('trainner/trainner.yml')

 ## LBPH缺省参数就能正确区分人像。 ## 此外还有Eigen和Fisher两种分类识别器## EigenFaceRecognizer_create() ## FisherFaceRecognizer_create()model.train(images, labels)

face_cascade = cv2.CascadeClassifier(cascade_path)

CascadeClassifier是Opencv中做人脸检测的时候的一个级联分类器,现在有两种选择:一是使用老版本的CvHaarClassifierCascade函数,一是使用新版本的CascadeClassifier类。老版本的分类器只支持类Haar特征,而新版本的分类器既可以使用Haar,也可以使用LBP特征。

font = cv2.FONT_HERSHEY_SIMPLEX

字体结构初始化

eg.python
faces = faceCascade.detectMultiScale(
    gray,
    scaleFactor=1.1,
    minNeighbors=5,
    minSize=(40, 40),
    flags=cv2.CASCADE_SCALE_IMAGE
)

猜你喜欢

转载自blog.csdn.net/qq_35292447/article/details/80568142