欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python+OpenCV实现人脸识别(face_recognition)

程序员文章站 2022-07-12 21:03:31
...

版本号:

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,若无报错则说明安装成功:
Python+OpenCV实现人脸识别(face_recognition)

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.人脸识别系统代码

Python+OpenCV实现人脸识别(face_recognition)
Python+OpenCV实现人脸识别(face_recognition)
Python+OpenCV实现人脸识别(face_recognition)
Python+OpenCV实现人脸识别(face_recognition)
Python+OpenCV实现人脸识别(face_recognition)
Python+OpenCV实现人脸识别(face_recognition)
完成!