前期准备
在开始之前,你得先做如下准备:
- opencv
这个一般没啥问题,通过pip install opencv-python
安装即可。 - dlib
安装dlib之前需要安装好cmake,之后再通过pip install dlib
安装,如果报错的话,再自行百度吧,我是折腾了一下午才弄好。 - 下载dlib提供的检测模型文件
下载地址:http://dlib.net/files/
文件名shape_predictor_68_face_landmarks.dat
人脸检测
单一图片
代码部分实现起来非常简单,不过十几行的事,不过需要注意的是,通过cv2.imread
读取的图片是BRG通道的,需要转成RGB通道,不然通过pyplot
显示图片会变色。
1 | #!/usr/bin/env python2 |
摄像头读取
我们可以通过cv2.VideoCapture(0)
调起摄像头,camera.read
会返回两个参数,第一个代表是否获取到图像帧,第二个代表图像帧内容,剩下的部分就跟上面一样了,传给dlib进行人脸检测就好了。
1 | # -*- coding: utf-8 -*- |
错误
运行时可能提示错误
qt.qpa.plugin: Could not find the Qt platform plugin “cocoa” in “”
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
解决办法
1 | pip install opencv-python-headless |
应该是版本的问题,最新版的opencv可能少了这个。
也可以安装其他老版的opencv来解决
pip install opencv-python==4.0.0.21