Python人脸识别——OpenCV、Dlib和Face-Recognition

本文介绍了在Python环境下,结合OpenCV和Face-Recognition库进行人脸识别的步骤。首先,阐述了配置环境时遇到的问题及解决方法,确保在Anaconda环境中正确安装和使用这两个库。接着,详细讲解如何使用OpenCV定位人脸,尽管它在识别精度和多脸识别上有局限。最后,通过Face-Recognition库实现高精度的人脸识别,包括框出面部和精确的标定点定位,展示了其在处理大尺寸图片和多脸识别上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、配置环境

Python人脸识别主要通过OpenCV和Face-Recognition插件来实现。相比之下,Face-Recognition应用范围更广, 精确度也会更高。Face-Recognition的使用依赖Dlib,因此需要先安装Dlib。

在安装OpenCV插件的过程中,发现用上一次的方法——在Jupyter Notebook中直接输入pip install xxx指令无法顺利安装。而在命令行中安装时,虽然提示安装成功,但在Jupyter Notebook中却无法成功调用,依然提示没有此插件。

通过在网上检索信息,我发现原因是我的电脑中除了Anaconda环境, 还有之前下载的Python38 IDLE环境,而通过命令行安装插件的默认安装路径是Python38文件而并非所使用的Anaconda文件。网上通过代码更改默认安装路径的方法有一些看不懂,但老师上课讲解了Python的插件在电脑中是有固定的位置的。因此我使用的简单方法是,在本地找到Python38文件中下载好的插件文件,将文件复制到Anaconda文件的site-packages中,在Jupyter Notebook中即可成功调用。

二、使用OpenCV定位人脸

import cv2
import os
import matplotlib.pyplot as plt

def detect(filename):
    face_cascade = cv2.CascadeClassifier('C:\ProgramData\Anaconda3\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml')
    
    img=cv2.imread(filename)
    gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    faces=face_cascade.detectMultiScale(gray,1.3,5)
    
    for (x,y,w,h) in faces:
        img = cv2.rectangle(img,(x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值