face_recognition是一个强大、简单、易上手的人脸识别开源项目,并且配备了完整的开发文档和应用案例,特别是兼容树莓派系统。 face_recognition一经开源发布就得到的广泛的热捧,使用简单,功能强大成为其非常显著的标签。face_recognition对于公司或者是一些工程实践性的应用场景来说是非常好用好上手的利器,不需要你有太多的理论基础就可以比较轻松地去完成一个识别项目,所以今天我们专门来讲解一下。
首先,face_recognition项目开源地址在这里:
https://github.com/ageitgey/face_recognition
网上有比较完整的API说明以及实例应用,我这里就不多去说明了。首先,使用face_recognition需要安装,可以通过 pip 完成。如果安装遇到报错可参考:
https://yishuihancheng.blog.csdn.net/article/details/102679177
安装完成后就可以使用了,在编码前可以通过简单的测试来检验是否安装成功,如下所示:
成功安装后,就可以进入使用了。
1、定位图像中的人脸
def demoFunc(): ''' 在一张包含人脸的图片中圈出来人脸 ''' image = face_recognition.load_image_file("test.jpg") face_locations = face_recognition.face_locations(image) for one in face_locations: y0, x1, y1, x0=one cv2.rectangle(image, pt1=(x0, y0), pt2=(x1, y1), color=(0, 0, 255), thickness=3) cv2.imshow('aaa', image) if cv2.waitKey(0) & 0xFF == ord('q'): cv2.destroyAllWindows()
从网上随便找了一张图片,如下所示:
定位结果如下所示:
感觉还是很强大的,当然了,在我实践的过程中也发现了部分图像识别检测人脸失败的问题,这个毕竟不是一个百分之百的问题,face_recognition更像是一个基础框架,帮助我们更加高效地去构建自己的人脸识别的相关应用。
2、切割图像中的每个人脸保存本地
def demoFunc(): ''' 图片中人脸截图保存 ''&#