系列文章目录

人脸采集
数据训练



代码思路

一、pandas是什么?

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、使用步骤

1.引入代码库

import cv2
  • 获取人脸识别对象
# 获取人脸识别对象
recognizer = cv2.face.LBPHFaceRecognizer_create()
  • 读取在上一博客程序中获取的训练数据
recognizer.read('yujinlong232.yml')
  • 加载分类器
face_detector = cv2.CascadeClassifier(r'C:\Users\HONOR\AppData\Local\Programs\Python\Python37\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml')
  • 设置字体
font = cv2.FONT_HERSHEY_SIMPLEX
  • 设置变量
    统计 id数量
idnum = 0
  • 姓名列表
names = ['jhy', 'yjl']
  • 开启摄像头
cappatu = cv2.VideoCapture(0)
while True:ret, frame = cappatu.read()
  • 将图像转换为灰度图像
 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
  • 加载特征数据

faces = face_detector.detectMultiScale(gray)
  • 画框
for x, y, w, h in faces:cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), thickness=2)cv2.circle(frame, (x + w // 2, y + h // 2), radius=w // 2, thickness=2, color=(0, 0, 255))
  • 对人脸进行识别并输出置信度:
 id, confidence = recognizer.predict(gray[y:y + h, x:x + w])if confidence < 80:name = names[id]else:name = "unknown"cv2.putText(frame, str(name), (x + 5, y - 5), font, 1, (230, 250, 100), 1)cv2.putText(frame, str(confidence), (x + 5, y + h - 5), font, 1, (255, 0, 0), 1)print('标签id:', id, '置信评分:', confidence)cv2.imshow("c", frame)

完整带代码示

import cv2# 获取人脸识别对象
recognizer = cv2.face.LBPHFaceRecognizer_create()
# 读取训练数据
recognizer.read('yujinlong232.yml')
face_detector = cv2.CascadeClassifier(r'C:\Users\HONOR\AppData\Local\Programs\Python\Python37\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml')
font = cv2.FONT_HERSHEY_SIMPLEX
idnum = 0
names = ['jhy', 'yjl']
# 开启摄像头
cappatu = cv2.VideoCapture(0)
def Face():print('请正对着摄像头...')while True:ret, frame = cappatu.read()## 将图片灰度gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)# 加载特征数据# 参数: scaleFactor(比例因子):图片缩放多少,minNeighbors:至少检测多少次,# minSize maxSize:当前检测区域的最小面积faces = face_detector.detectMultiScale(gray)  # scaleFactor=1.01, minNeighbors=3,# maxSize=(33, 33), minSize=(28, 28)# 获取脸部特征值for x, y, w, h in faces:cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), thickness=2)cv2.circle(frame, (x + w // 2, y + h // 2), radius=w // 2, thickness=2, color=(0, 0, 255))# 人脸识别id, confidence = recognizer.predict(gray[y:y + h, x:x + w])if confidence < 80:name = names[id]else:name = "unknown"cv2.putText(frame, str(name), (x + 5, y - 5), font, 1, (230, 250, 100), 1)cv2.putText(frame, str(confidence), (x + 5, y + h - 5), font, 1, (255, 0, 0), 1)print('标签id:', id, '置信评分:', confidence)cv2.imshow("c", frame)if confidence<1:print("识别成功")exit()key = cv2.waitKey(25)  # 一直显示if (key & 0xFF == ord("q")) :breakcv2.destroyAllWindows()  # 释放资源
if __name__ == '__main__':Face()

到现在为止人民脸识的程序就完成了,
下面是识别别程序以及我的训练数据的的下载地址:
识别程序文件以及训练数据

人脸识别(识别程序)相关推荐

  1. python3+opencv+tkinter开发简单的人脸识别小程序

    学校里有门图像处理的课程最终需要提交一个图像处理系统, 正好之前对于opencv有些了解,就简单的写一个人脸识别小程序吧 效果图如下 笔者IDE使用Pycharm,GUI编程直接使用内置的tkinte ...

  2. matlab 动态识别,基于matlab脸部动态特征的人脸表情识别程序

    [实例简介] 通过训练jaffe数据库,实现识别人脸高兴.惊讶.恐惧.生气等六种表情,并圈出.可调用电脑摄像头实时监测.内附有使用说明,可以使用.仅供学习参考. [实例截图] [核心代码] fdf56 ...

  3. 微信小程序 |基于百度AI从零实现人脸识别小程序

    写在前面 针对互联网上已有的人脸识别小程序项目,很多只是基于手动拍照,然后上传到SDK进行识别.这一过程完全脱离实际场景!无法直接使用! 本文项目是基于微信摄像头中的实时视频帧数据,通过实时动态识别小 ...

  4. 用matlab人脸识别,人脸识别matlab程序

    <人脸识别matlab程序>由会员分享,可在线阅读,更多相关<人脸识别matlab程序(5页珍藏版)>请在人人文库网上搜索. 1.人脸识别% FaceRec.m% PCA 人脸 ...

  5. MATLAB人脸定位识别程序代码

    MATLAB人脸定位识别程序代码 程序代码: clear; I=imread('E:\02089008.jpg'); %%插入图像地址 O=rgb2ntsc(I); G=O(:,:,2); [m n] ...

  6. 人脸情绪识别系统第一次迭代总结

    设想和目标: 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 问题定义:目前有一种情感维度理论,我们要用机器学习的方式给出人脸的维度值. 典型场景1:用户通过 ...

  7. 深度学习项目-人脸表情识别

    人脸表情识别 简介 使用卷积神经网络构建整个系统,在尝试了Gabor.LBP等传统人脸特征提取方式基础上,深度模型效果显著.在FER2013.JAFFE和CK+三个表情识别数据集上进行模型评估. 环境 ...

  8. python视频人脸检测_Python学习案例之视频人脸检测识别

    前言 上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统.人脸动态跟踪识别系统等等. 案例 这里我们还是使用 opencv 中 ...

  9. 机器学习之基于Fisher线性分类器实现多类人脸的识别

    基于 ORL 人脸库,基于 Fisher 线性分类器实现多类人脸的识别问题. 本次实验相比起之前的二分类人脸识别问题,复杂很多.而且程序的识别效果并不好,应该是程序本身的问题,各位路过的大佬仅当做参考 ...

  10. 毕业设计-人脸表情识别系统、人工智能

    人脸表情识别系统 1. 前言 在这个人工智能成为超级大热门的时代,人脸表情识别已成为其中的一项研究热点,而卷积神经网络.深度信念网络和多层感知器等相关算法在人脸面部表情识别领域的运用最为广泛.面部的表 ...

最新文章

  1. 有人统计了2万篇论文发现:想增加引用量,最好少说「黑话」
  2. Windows2012R2 Hyper-v3.0 高可用群集安装及配置(Live Migration)
  3. python可以开多少线程_Python开启线程,在函数中开线程的实例
  4. HDU 2035.人见人爱A^B-快速幂
  5. 二次规划的一个很好的课件网站
  6. pysvn安装及常用方法
  7. ubuntu系统文件删除/复制/移动
  8. 大型网站系统架构实践(一)从简单到复杂
  9. 文华财经指标公式博易大师软件指标公式指南针多空资金指标,最精准买卖点提示指标wh6赢顺云随身行指标
  10. [Matlab] 二进制蝙蝠算法用于解决背包问题
  11. php.ini文件中的 session.save_path是个坑爹的玩意!
  12. 昂达v891w可以用u盘linux,安卓、Win8随便用 昂达V891w双系统平板测试(转载)
  13. JavaScript 闭包理解
  14. Linux基础知识介绍
  15. JAVA查询银行卡信息
  16. Jenkins 页面不刷新最新修改配置,需要强制刷新才可以,Request Status Code:200 OK (from disk cache)
  17. moya + RxSwift 进行网络请求
  18. C# Devexpress控件详细安装攻略
  19. 蓝牙智能门锁现状分析
  20. 关于‘-[UIViewController _loadViewFromNibNamed:bundle:] loaded the “XXXView“ nib but the view outlet wa

热门文章

  1. java 怎么让打印信息换行?
  2. 计算文件及字符串的VBS脚本
  3. 刘鹏教授接受新华日报财经客户端采访:智能制造应用落地生根,“江苏智造”进入快速增长期...
  4. java电商商品基本信息表,Java生鲜电商平台-商品表的设计
  5. Mac M1芯片同态加密库的安装(TFHE问题)
  6. 【科创人南京行】西祠胡同创始人“响马”刘琥:一生寻找精神绿林,减区块链也许是正确方向...
  7. ANTHILL 自动化构建
  8. Latex常用语法、语句、工具
  9. 【python标准库】sys模块全解
  10. cv2.VideoWriter()