def ReFileNamedirPath param dirPath 文件夹路径 return # 对目录下的文件进行遍历 faces= for file in oslistdirdirPath # 判断是否是文件 if ospathisfileospathjoindirPath file == True
这段代码的作用是读取指定文件夹中的图片,对其中的人脸进行检测和识别,并将识别结果存储为训练数据,用于训练分类器。
具体实现过程如下:
-
定义函数ReFileName,用于读取指定路径下的所有图片,对其中的人脸进行检测和识别,并返回所有识别出的人脸。
-
在定义函数中,首先对指定路径下的所有文件进行遍历,判断是否是图片文件,如果是,则读取该图片并进行人脸检测和识别。
-
人脸检测和识别使用的是face_detect_demo函数,该函数接受一张图片作为输入,返回检测到的人脸及其位置信息。
-
如果检测到人脸,则将该人脸添加到人脸列表中,并添加相应的标签,即将杨幂的人脸标记为0,将刘亦菲的人脸标记为1。
-
最后将所有识别出的人脸和标签拼接起来,并打乱顺序,用于训练分类器。
-
分类器使用的是cv2.face.LBPHFaceRecognizer_create()函数,该函数创建一个基于局部二值模式直方图的人脸识别器,并使用训练数据对其进行训练。
-
训练完成后,使用recognizer.write()函数将训练数据保存到文件中,以便后续使用。
原文地址: https://www.cveoy.top/t/topic/cebM 著作权归作者所有。请勿转载和采集!