人脸侦测:FaceDetect
1. 安装OpenCV库:一开始想用pip源下载,但一直报错,最后干脆直接pip install,时间可能会有点久。出现以下内容就是安装成功了。(执行命令:pip install opencv-python)。
2. 执行命令:pip show opencv-python,查看安装位置。
一般在'D:/Python/Lib/site-packages/cv2/data/haarcascade_frontalface_default.xml',
3. 这里主要用到的.py文件是下面四个。相关数据可以在kaggle官网里找。
4. 先选择FaceDetect.py,可以用edit with idle打开,把源码中的路径修改为自己电脑中下载的路径。注意使用“/”分隔符,路径不要有中文。路径不对可能报错。
5. 执行FaceDetect.py
预测训练:FaceRecognitionTraining
6. 编辑FaceRecognitionTraining.py,和步骤4一样,修改好文件路径。这里用的例子是chenglong和lilianjie,记得也要改好文件路径。
7. 尝试运行FaceRecognitionTraining.py,发现报错。
8. 根据报错内容可能是由于numpy版本太高。
折中解决办法:执行命令"pip uninstall numpy"直接卸载numpy,卸载界面输入“Y”确认。
然后安装低版本:pip install numpy==1.23.3
①如果出现下图报错,需安装opencv-contrib-python 包,这是OpenCV外带模块,外带模块是测试性能不足,所以没有一起放在opencv包里。
解决方法:pip install -i https://pypi.douban.com/simple/ opencv-contrib-python(注意安装版本问题,否则可能报错,==4.3.0.38)
9. 再次运行FaceRecognitionTraining.py,提示以下Warning可直接忽略,程序运行后的模型保存在同目录下:train.yml,后续可直接使用该模型测试人脸识别。
人脸预测FaceRecognitionTesting
10. 打开FaceRecognitionTesting.py,修改好源码中相关的文件路径后,开始运行,会正确识别出chenglong和lilianjie,但是如果换成其他人的图片,程序输出是not find。测试图片需要露出全脸,否则可能报错。
11. 打开FaceDetectbyCamera.py,同步骤4,修改好源码中的文件路径后,开始运行,会打开摄像头并捕获实时图像。