小白都能学会使用Python进行人脸识别,30行代码全部讲解的一清二楚!

Python25行代码人脸识别 OpenCV 技术教程 建议先读一遍本文再跑代码——你需要理解这些代码是干什么的。成功跑一遍不是目的,能够举一反三、在新任务上找出 bug 才是。 请确保用的是 OpenCV v2 你需要一个网络摄像头 OpenCV OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python。 它使用机器学习算法 阅读详情

Python三十行代码实现简单人脸识别


一、库介绍


opencv,face_recognition,numpy,以及dlib
注意:
安装opencv速度可能过慢,需要更换国内镜像源,参考:https://blog.youkuaiyun.com/X_xs_mxt/article/details/107069379
附带Python3.7,64位版本 dlib whl下载路径:
链接:https://pan.baidu.com/s/1jOmwQ2OpJcbyYPSMisIFlg
提取码:to50

很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。

很多已经做案例的人,却不知道如何去学习更加高深的知识。

那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!

QQ群:701698587

二、库安装

 

pip install opencv-python
pip install face_recognition
pip install numpy



dlib库需进入whl文件路径下安装

pip install dlib-19.17.99-cp37-cp37m-win_amd64.whl



三、face_recognition库简单介绍


face_recognition的load_image_file方法会加载图片,并返回一个ndarray类型的数据

face_path = "C://Users//25103//Desktop//Python人脸识别//face//徐先生.jpg"
image = face_recognition.load_image_file(face_path)



face_recognition的face_encoding方法,可从返回的ndarray类型数据中提取人脸特征,可同时提取多个特征,返回值为列表类型

face_encoding = face_recognition.face_encodings(image)[0]



face_recognition的face_location方法可以获取图片中所有人脸的位置,其返回值为一个列表

face_locations = face_recognition.face_locations(rgb_frame)



四、代码实现以及注释讲解

# coding = utf-8
import dlib
import cv2
import face_recognition
import os

# 创建视频对象
video_capture = cv2.VideoCapture(0)

# 加载需要识别的人脸图片(这张图片需要仅有一张脸)
# face_recognition的load_image_file方法会加载图片,并返回一个ndarray类型的数据
# ndarray类型就是NumPy的数组类型,其中的元素类型可以一致也可以不一致
face_path = "C://Users//25103//Desktop//Python人脸识别//face//徐先生.jpg"
image = face_recognition.load_image_file(face_path)

# face_recognition的face_encoding方法,可从返回的ndarray类型数据中提取人脸特征,可同时提取多个特征,返回值为列表类型
# 因为照片中只有一个人脸,所以我们取列表的第一个值
face_encoding = face_recognition.face_encodings(image)[0]

while True:
    # 从视频对象中读取一帧照片
    ret,frame = video_capture.read()
    # 将照片缩小,加快处理速度,这里将其缩小为原图的1/4
    # frame = cv2.rectangle(frame,(0,0),fx=0.25,fy=0.25)
    # 因为cv2用的是BGR色彩,我们组要将其转化为RGB进行处理
    rgb_frame = frame[:,:,::-1] # 列表转置操作

    # face_recognition的face_location方法可以获取图片中所有人脸的位置,其返回值为一个列表
    face_locations = face_recognition.face_locations(rgb_frame)
    print("共从视频中找到了{}张人脸".format(len(face_locations)))

    # 获取视频中所有人脸的特征
    face_encodings = face_recognition.face_encodings(rgb_frame,face_locations)

    for face in face_encodings:
        # 比较两个特征值——encoding1与encoding2,匹配返回True,否则返回False。tolerance越低,顾名思义,容错率越低,返回值为列表类型
        match = face_recognition.compare_faces([face_encoding],face,tolerance=0.4)
        name = "不认识的人"

        if match[0]:
            # face为图片名称
            name = os.path.basename(face_path[0:-4])
        print("找到了{}".format(name))


 

Python实现人脸识别 案例分析 概述 Python在人脸识别方面功能很强大,程序语言简单高效,下面编程实现一下如何实现人脸识别。分别给出实现代码,作为学习和技术交流。 Python基础环境准备 参见:https://blog.youkuaiyun.com/yan_dk/article/details/89528463 案例实现 打开显示图片 import cv2 #opencv库 #读... 阅读详情

相关推荐

使用python的opencv实现人脸识别

本项目主要使用python语言,主要的模块库有os,opencv-python,opencv-contrib-python。项目主要分为三个部分,人脸录入,训练数据,实现人脸的识别。本博客包含源代码,以及各个功能模块,需求分析的详细解释,当然本项目只是简单的实现人脸识别,可以在此基础上扩展。

weixin_61360713的博客 3829

Python三十行代码实现简单人脸识别

Python三十行代码实现简单人脸识别 一、库介绍 opencv,face_recognition,numpy,以及dlib 注意: 安装opencv速度可能过慢,需要更换国内镜像源,参考:https://blog.youkuaiyun.com/X_xs_mxt/article/details/107069379 附带Python3.7,64位版本 dlib whl下载路径: 链接:https://pan.baidu.com/s/1jOmwQ2OpJcbyYPSMisIFlg 提取码:to50 二、库安装 pip in

X_xs_mxt的博客 4719

Python最短代码实现人脸识别,打造自己专用人脸识别!

对于类似于人脸的对象,你或许需要不少于 6000个分类器,每一个都需要成功匹配(当然,有容错率),才能检测出人脸。但这有一个问题:对于人脸识别,算法从左上角开始计算一个个数据块,不停问“这是张脸吗”。每个数据块有超过 6000个检测,加起来的计算量会达到数百万级别,计算机很可能会让你等得花儿都谢了。在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的...

qq_41766361的博客 2万+

Python人脸检查识别代码详解(完整版)

#在这个python文件中,训练识别人脸 #我们使用的是openCV库提供的默认识别器 #我们还使用os模块来查找图像的目录 #我们将使用名为cv2.face.LBPHFaceRecognizer_create()的函数来实现识别器 #然后我们将使用Python pillow库从目录中加载图像 #我们还将使用Pickle库来存储标签 项目如图 Face_Recognition_Train...

sereasuesue的博客 4186

64行代码实现简单人脸识别

64行代码实现简单人脸识别。快来学习吧!

这里是Mae。 2万+

【大作业-06】教你用300行Python代码实现一个人脸识别系统

最近又多了不少朋友关注,先在这里谢谢大家。今天我们来python实现一个人脸识别系统,主要是借助了dlib这个库,相当于我们直接调用现成的库来进行人脸识别,就省去了之前教程中的数据收集和模型训练的步骤了。

dejahu的博客 4万+

基于Python的开源人脸识别库:离线识别率高达99.38%

基于Python的开源人脸识别库:离线识别率高达99.38%

zchang81的博客 10万+

codemirror6 制作markdown编辑器(源码模式)

总体上感觉能用,但是不怎么友好,官方文档有点散乱,而且关键字高亮功能是独立出去的,去官方文档找半天,也没找到怎么改。EditorView.theme可以往EditorView模块中修改CSS的样式,从而影响编辑器的样式展示。"### 测试\n\n```javascript\nlet x = 'y'\n```"这个插件中的markdown语法的高亮样式。//这里指定markdown中代码块使用的解析扩展。开头的class样式,并且还需要在选择器前面添加。//markdown语言解析扩展。

qq_43203949的博客 1783

Python使用face_recognition库实现人脸识别案例

本项目使用face_recognition库编写一个简单的python程序,实现人脸识别。这个库是基于深度学习技术,希望尽量用最方便最简单的方式实现人脸识别,只要使用一张图片进行训练就能从大量的人脸数据找到验证者对应的身份,准确率达96%。face_recognition是一个人脸识别开源库,是在深度学习框架dlib上做的整合。通过 Python 语言将它封装为一个非常简单就可以实现人脸识别的 API 库,屏蔽了人脸识别的算法细节,大大降低了人脸识别功能的开发难度。 关于face_recogniti....

lyx4949的博客 5114

告别配置迷茫:手把手教你用Vivado 2023.1配置Xilinx FPGA的DDR4 MIG IP核(含AXI接口详解)

本文详细介绍了如何在Vivado 2023.1中配置Xilinx FPGA的DDR4 MIG IP核,包括AXI接口的深度解析与优化。通过实战案例和调试技巧,帮助工程师快速掌握DDR4内存与FPGA的协同工作,提升系统性能。特别适合需要高性能计算和实时信号处理的开发者。

weixin_29231725的博客 437

保姆级教程:在Zynq UltraScale+ EV系列FPGA上,用VCU IP核搞定4K60帧H265视频解码与HDMI2.0输出

本文提供在Zynq UltraScale+ EV系列FPGA上使用VCU IP核实现4K60帧H265视频解码与HDMI2.0输出的全流程指南。从开发环境准备、Vivado工程配置到PetaLinux系统定制,详细解析硬件选型、IP核参数设置及性能优化技巧,帮助开发者快速构建高效视频处理系统。

weixin_30800987的博客 432

10分钟手把手教你运用Python实现简单的人脸识别

今天,我们用Python实现高大上的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的。这里介绍的是准确性比较高的一种。 01 首先 梳理一下实现人脸识别需要进行的步骤: 流程大致如此,在此之前,要先让人脸被准确的找出来,也就是能准确区分人脸的分类器,在这里我们可以用已经训练好的分类器,网上种类较全,分类准确度也比较高,我们也可以节约在这方面花的时间。 ps:小编【短短的路走走停停】的宝贝来源已经放在下

aku13的专栏 3922

在Rviz仿真环境中搭建传送带

<geometry><material>

qq_58268456的博客 936

Python代码+OpenCV实现人脸识别

50行Python代码+OpenCV实现人脸识别!史上最详细的教程! 环境拓扑: 操作系统:windows7 python版本:2.7.14 opencv版本:3.x 环境配置: 1.安装python(额...这个当我没说) 2.安装Opencv 这个从官网下载就OK啦 下载完之后直接解压就行,推荐解压到跟你的python安装的父路径。 3.使...

位文杰的博客 1万+

Codesys电子凸轮从入门到应用:手把手教你用MC_CamIn/MC_CamOut实现主从轴同步

本文详细介绍了如何在Codesys平台上使用MC_CamIn和MC_CamOut功能块实现电子凸轮的主从轴同步控制。从环境配置、轴使能到凸轮表创建与动态切换,提供了完整的程序编写指南和调试技巧,帮助工程师快速掌握工业自动化中的高精度运动控制技术。

weixin_26878995的博客 277

Rk3568 百兆以太网RMII模式DTS配置详解

本文详细解析了RK3568芯片在百兆以太网RMII模式下的DTS配置方法,包括时钟树配置、PHY接口模式定义及实际工程中的进阶设置。通过实战案例和调试技巧,帮助开发者快速解决RMII模式下的常见问题,提升工业控制设备的网络稳定性。

weixin_29189377的博客 420

python30行代码实现人脸识别_Python 40行代码实现人脸识别功能

前言很多人都认为人脸识别是一项非常难以实现的工作,看到名字就害怕,然后心怀忐忑到网上一搜,看到网上N页的教程立马就放弃了。这些人里包括曾经的我自己。其实如果如果你不是非要深究其中的原理,只是要实现这一工作的话,人脸识别也没那么难。今天我们就来看看如何在40行代码以内简单地实现人脸识别。一点区分对于大部分人来说,区分人脸检测和人脸识别完全不是问题。但是网上有很多教程有无无意地把人脸检测说成是人脸识别...

weixin_42503415的博客 825

OpenClaw 2026.3.13 踩坑实录:飞书HTTP协议降级Bug与多版本回归问题汇总

摘要:OpenClaw v2026.3.13存在多个严重回归问题,包括飞书API调用协议意外降级为HTTP导致连接失败(#46100)、本地Gateway诊断矛盾(#45504)及设备配对CLI命令失效等。该版本发布流程本身也存在异常,被迫以v2026.3.13-1标签重新发布。建议飞书用户回退至v2026.3.8稳定版,其他用户谨慎升级。本文详细记录了各Bug现象、影响范围及临时解决方案,并梳理了飞书通道的"多版本回归史",指出其根源在于架构变迁和测试覆盖不足。最后提供了包含配置备份、

Maynor的博客 869

人脸识别python实现代码

tensorflow搭建cnn人脸识别训练+识别代码(python) https://blog.youkuaiyun.com/codes_first/article/details/79223524 基于神经网络的人脸识别(Tensorflow,opencv,dlib,cnn,) https://blog.youkuaiyun.com/qq_36955294/article/details/80112394 ...

sun007700的专栏 2万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

用Python进行人脸识别[包括源代码]

Python可以从图像或视频中检测和识别你的脸。 人脸检测与识别是计算机视觉领域的研究热点之一。 人脸识别的应用包括人脸解锁、安全防护等,医生和医务人员利用人脸识别来获取病历和病史,更好地诊断疾病。 关于Python人脸识别 在这个python项目中,我们将构建一个机器学习模型,该模型从图像中识别人。我们在项目中使用了人脸识别API和OpenCV。 随时了解最新的技术趋势加入DataFlair的电报! 工具与图书馆 Python-3.x CV2-4.5.2 矮胖-1.20.3 人脸识别-

python588的博客 2万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

使用python和pyqt5轻松上手人脸识别系统(含代码)

保姆级教程,帮助你快速上手python的人脸识别系统设计,使用到了pyqt5,dlib,sqlite3,opencv等

qq_36306288的博客 9103

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

25 行 Python 代码实现人脸识别——OpenCV

建议先读一遍本文再跑代码。

xiangz_csdn的博客 9047

3d人脸识别算法opencv_10行代码实现人脸识别

什么是人脸识别人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别的一系列相关技术,通常也叫做人像识别、面部识别。目前的人脸识别技术已经非常成熟了,还发展成3D人脸识别。而且现在各大厂商也都提供了人脸识别的API接口供我们调用,可以说几行代码就可以完成人脸识别。但是人脸识别的根本还是...

weixin_39645268的博客 1612

python30行代码实现人脸识别_20行python代码实现人脸识别

OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python。它使用机器学习算法在图像中搜索人的面部。对于人脸这么复杂的东西,并没有一个简单的检测能对是否存在人脸下结论,而需要成千上万的特征匹配。算法把人脸识别任务分解成数千个小任务,每个都不难处理。这些任务也被称为分类器。对于类似于人脸的对象,你或许需要不少于 6000 个分类器,每一个都需要成功匹配(当然,有容错...

weixin_39971172的博客 508

python基于opencv和tkinter实现人脸识别【内附完整代码】

本篇博客将介绍如何使用Python和OpenCV库进行人脸识别。我们将学习如何使用OpenCV中的人脸检测器检测图像中的人脸,如何与一个人的图像进行比较以检测是否属于该人,以及如何在GUI中显示识别结果。你可以嵌入到你的程序、机器上。现在,让我们开始学习人脸识别技术吧!

晋升阁的博客 6万+
上一篇: 女友闹别扭不用担心,python做个软件轻松哄好
下一篇: 快速掌握Python爬虫核心技术,批量爬取网络图片
Python编程_可乐
博客等级 码龄6年 917粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值