| 站长开始收学徒,辅导python啦! | 站长答疑 | 本站每日ip已超7000,现出租广告位,位置价格可谈,需要合作请联系站长
+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2019-07(1)

2019-08(110)

2019-09(92)

2019-10(10)

2019-11(4)

2019-12(13)

2020-01(30)

2020-02(27)

2020-03(95)

基于python的face_recognition库的人脸识别

发布于2020-03-26 11:20     阅读(278)     评论(0)     点赞(14)     收藏(2)


本篇文章主要是通过python的face_recognition库来实现人脸识别,首先要谢谢参考的两个博客http://blog.csdn.net/hongbin_xu/article/details/74981819https://www.freebuf.com/articles/terminal/158484.html
话不多说,接下来进行整个流程的说明,

安装配置

要安装face_recognition库,首先需要安装dlib,直接安装时会在安装dlib时出错,可能报错也可能会卡在那不动。因为pip在编译dlib时会出错,所以我们需要手动编译dlib再进行安装。

1、

pip install dlib

一般来说可能会报错,所以可以下载 来进行安装(cmd进入whl所在文件夹后使用pip安装)
2、安装完dlib之后即可安装face_recognition库

pip install face_recognition

调用一下库,检查是否成功导入。正确
3、安装opencv库

pip install opencv-python

编写人脸识别程序

代码如下

# -*- coding: UTF-8 -*-
import face_recognition
import cv2
import os
# 这是一个超级简单(但很慢)的例子,在你的网络摄像头上实时运行人脸识别
# PLEASE NOTE: This example requires OpenCV (the `cv2` library) to be installed only to read from your webcam.
# 请注意:这个例子需要安装OpenCV
# 具体的演示。如果你安装它有困难,试试其他不需要它的演示。
# 得到一个参考的摄像头# 0(默认)
video_capture = cv2.VideoCapture(0)
# 加载示例图片并学习如何识别它。
path ="images"#在同级目录下的images文件中放需要被识别出的人物图
total_image=[]
total_image_name=[]
total_face_encoding=[]
for fn in os.listdir(path): #fn 表示的是文件名
  total_face_encoding.append(face_recognition.face_encodings(face_recognition.load_image_file(path+"/"+fn))[0])
  fn=fn[:(len(fn)-4)]#截取图片名(这里应该把images文件中的图片名命名为为人物名)
  total_image_name.append(fn)#图片名字列表
while True:
  # 抓取一帧视频
  ret, frame = video_capture.read()
  # 发现在视频帧所有的脸和face_enqcodings
  face_locations = face_recognition.face_locations(frame)
  face_encodings = face_recognition.face_encodings(frame, face_locations)
  # 在这个视频帧中循环遍历每个人脸
  for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
      # 看看面部是否与已知人脸相匹配。
      for i,v in enumerate(total_face_encoding):
          match = face_recognition.compare_faces([v], face_encoding,tolerance=0.5)
          name = "Unknown"
          if match[0]:
              name = total_image_name[i]
              break
      # 画出一个框,框住脸
      cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)
      # 画出一个带名字的标签,放在框下
      cv2.rectangle(frame, (left, bottom - 35), (right, bottom), (0, 0, 255), cv2.FILLED)
      font = cv2.FONT_HERSHEY_DUPLEX
      cv2.putText(frame, name, (left + 6, bottom - 6), font, 1.0, (255, 255, 255), 1)
  # 显示结果图像
  cv2.imshow('Video', frame)
  # 按q退出
  if cv2.waitKey(1) & 0xFF == ord('q'):
      break
# 释放摄像头中的流
video_capture.release()
cv2.destroyAllWindows()

其次还需要在同级目录下新建一个images文件夹来进行摄像头的人脸图片对比。在这里插入图片描述
代码原理如下:
1.遍历images文件中的图片

2.提取特征脸

3.摄像头每帧提取图片,提取特诊脸

4.遍历特征列表,找出符合特征脸

5.输出名字
最后,运行程序之后按q退出程序。

原文链接:https://blog.csdn.net/duanyijiangzhi/article/details/105084963



所属网站分类: 技术文章 > python文章

作者:你敢说我不帅

链接: https://www.pythonheidong.com/blog/article/285046/

来源:python黑洞网 www.pythonheidong.com

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

14 0

赞一赞 or 踩一踩

收藏该文
已收藏

评论内容:(最多支持255个字符)

最新文章

  Python-Socketserver实现FTP,文件上传、下载

  Python3标准库:xml.etree.ElementTree XML操纵API

  django时区问题

  Python编程 | 新手必会的 9 个 Python 技巧

  PAT (Basic)1004 成绩排名 (Python实现)

  Python小技巧:用类写装饰器的正确方法,一般新手都不知道

  教你用Python 每日定时推送睡前小故事给你__的人

  后端开发使用pycharm的技巧

  Django 对多对多字段进行批量add

  史上最全的Python面向对象知识点疏理

优质资源排行榜

 python经典电子书大合集下载 下载次数 8148

 零基础java开发工程师视频教程全套,基础+进阶+项目实战(152G) 下载次数 7556

 零基础前端开发工程师视频教程全套,基础+进阶+项目实战(共120G) 下载次数 7446

 零基础大数据全套视频400G 下载次数 7009

 零基础php开发工程师视频教程全套,基础+进阶+项目实战(80G) 下载次数 6895

 零基础软件测试全套系统教程 下载次数 6507

 这个项目是人人网的爬虫程序 下载次数 6506

 全套人工智能视频+pdf 下载次数 6446

 IOS全套视频教程 基础班+就业班 下载次数 4681

10  python视频各种视频很多 下载次数 3877

11  编程小白的第一本python入门书(高清版)PDF下载 下载次数 3761

12  effective python编写高质量Python代码的59个有效方法 pdf下载 下载次数 3427

13  Python深度学习 pdf下载 下载次数 3196

14  笨办法学python pdf下载 下载次数 3106

15  Python Cookbook第三版中文PDF下载高清完整扫描原版 下载次数 3044

16  树莓派Python编程指南 pdf下载 下载次数 3028

17  python从入门到精通视频(全60集)python视频教程下载 下载次数 3009

18  Python基础教程 pdf下载 下载次数 3002

19  python项目开发视频 下载次数 3002

20  使用python+pygame开发的小游戏《嗷大喵快跑》源码下载 下载次数 3001

21  黑马2017年java就业班全套视频教程 下载次数 2993

22  Python算法教程_中文版 pdf下载 下载次数 2988

23  python实战项目 平铺图像板系统源码下载,适用于想要保存,标记和共享图像,视频和网页的用户 下载次数 2987

24  利用python实现程序内存监控脚本 下载次数 2987

25  老男孩python自动化视频 下载次数 2983

26  老王python基础+进阶+项目视频教程 下载次数 2975

27  尚硅谷Go学科全套视频 下载次数 2973

28  某硅谷Python项目+AI课程+核心基础视频教程 下载次数 2968

29  Web前端实战精品课程 下载次数 2967

30  tron python小游戏 下载次数 2963

31  [小甲鱼]零基础入门学习Python 下载次数 2962

32  老男孩python全栈开发15期 下载次数 2959

33  2017最新web前端开发完整视频教程附源码 下载次数 2948

34  流畅的Python PDF下载高清完整扫描原版 下载次数 2937

35  最新全套完整JAVAWEB2018开发视频 下载次数 2926

36  Python高性能编程 pdf下载 下载次数 2924

37  Spring boot实战视频6套下载 下载次数 2910

38  python全套视频十五期(116G) 下载次数 2910

39  简明python教程 (A Byte of Python)pdf下载 下载次数 2893

40  利用Python进行数据分析 pdf下载 下载次数 2892

41  Python项目实战 下载次数 2888

42  30个小时搞定Python网络爬虫 含源码 下载次数 2887

43  python全自动抢火车票教程-python视频教程下载 下载次数 2883

44  尚硅谷大数据之Hadoop视频 下载次数 2877

45  python接口测试视频 下载次数 2874

46  Python A~B~C~ python视频教程下载 下载次数 2868

47  全套python量化交易视频教程 下载次数 2866

48  数据结构与算法视频(小甲鱼讲解-全) 下载次数 2864

49  web小程序表白天数倒计时源码下载 下载次数 2863

50  python基础视频教程 下载次数 2862