Python+OpenCV实现人脸识别(face_recognition)
版本号:
python 3.7.0
opencv 4.1.20
Anaconda 3
1.配置Python环境:
https://www.cnblogs.com/huangbiquan/p/7784533.html
2.配置OpenCV:
cmd中输入指令:
pip install opencv-python
输入该指令后可能会因网络不稳定报错,此时试试镜像:
pip install opencv-python -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
回车键,安装。
安装后测试:在python中输入指令import cv2,若无报错则说明安装成功:
3.安装Anaconda
官网下载Anaconda:
https://www.anaconda.com/distribution/
下载时注意对应python版本号
4.安装numpy包
Anaconda Prompt中输入指令:
pip install numpy
安装完成之后便可在Spyder编译器中编写Python代码。现在可利用OpenCV自带的Haar分类器做人脸检测作为测试。
5.编写人脸检测代码(作测试用)
import numpy as np
import cv2
import os
cap=cv2.VideoCapture(0)
while cap.isOpened():
isSuccess,frame=cap.read()
if isSuccess:
img=frame
color=(0,255,0)
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
classfier=cv2.CascadeClassifier("haarcascade_frontalface_alt2.xml")
faceRects=classfier.detectMultiScale(gray,scaleFactor=1.2,minNeighbors=3,minSize=(32,32))
if len(faceRects)>0:
for faceRect in faceRects:
x,y,w,h=faceRect
cv2.rectangle(img,(x-10,y-10),(x+w+10,y+h+10),color,3)
cv2.imshow("My Capture",img)
if cv2.waitKey(1)&0xFF==ord('q'):
break
cap.release()
cv2.destroyAllWindows()
下面我们调用face_recognition模型实现人脸识别,在这之前我们需要安装一些东西。
6.安装一些包
在Anaconda Prompt中输入以下内容:
pip install cmake
(安装cmake)
pip install boost
(安装boost)
pip install dlib
(安装dlib)
注意要对应python版本号!
最后:pip install face_recognition
安装完成测试:
python中输入:
import cmake
import boost
import dlib
import face_recognition
无报错说明安装成功
7.放照片
创建文件夹,放入测试用图片obama.jpg,sehun.jpg(非本人照片若干),本人照片jzw.jpg(若干)
然后编写代码,存入同一目录下。
8.人脸识别系统代码
完成!