人脸识别(识别程序)

news/2024/11/20 7:11:58/

系列文章目录

人脸采集
数据训练


请添加图片描述


代码思路

一、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()

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


http://www.ppmy.cn/news/836845.html

相关文章

基于android的人脸识别

把照片分成黑白两种颜色。。。然后扣掉白色的部分。。。 然后判断眼睛是否对称、鼻子是否是一个竖线、口是否眼色有变化 openCV javaCV cn.faceplusplus.com 清华做的人脸识别的网站 package com.njupt.facedetector1;import android.graphics.Bitmap; import android.…

Android使用Face++架构包实现人脸识别

欢迎转载&#xff0c;转载时请标明出处&#xff1a;http://blog.csdn.net/android_for_james/article/details/51016170 今天给大家带来一个通过使用Face来实现人脸识别的功能 我们先去这个Face官网看看&#xff1a;http://www.faceplusplus.com.cn 我们点开案例可以看到众多…

Android 原生的人脸识别Camera+FaceDetector示例

人脸识别google有自带api&#xff0c;Androoid 原生的人脸识别是利用相机的摄像功能和android.media.FaceDetector这个类来实现的 1、android.hardware.camera 1.1 简介 Camera 类用于设置图像捕获设置、开始/停止预览、抓拍图片和检索帧以进行视频编码 Camera的源码 1.2 人…

Android 集成Face++ 人脸识别(3.0+SDK)

写在前面 最近项目需求需要输入用户真实姓名 身份证号 再去调用人脸识别 效验是否是本人 所以就首先关注了Face(旷视)的人脸识别,听说是 正确率很高.....所以就集成了. 1.首先去官网去创建应用(其实听说创建应用是比较麻烦的) 创建好应用以后需要上传你项目的包名 2.下载Demo D…

Android集成百度人脸识别(一)基础版SDK

首先Android Studio版本&#xff1a;3.2.0 1、注册百度账号并企业认证 2、创建应用生成API Key和Secret Key 3、下载对应的SDK&#xff08;下载SDK的时候需要新建授权&#xff09; 因为下载的时候需要选择授权文件&#xff08;授权文件包含包名和签名文件的MD5&#xff09; 如…

Android人脸与指纹识别

基础人脸识别模块 添加依赖 请添加基本依赖&#xff0c;不要添加 ktx 版本的依赖&#xff0c;因为他需要 API33 及以上才可以使用&#xff01; implementation androidx.biometric:biometric:1.1.0 人脸识别工具类 package com.zhiyiyi.bio.bioimport android.content.Conte…

Android人脸识别(已开源)

Android人脸识别&#xff08;已开源&#xff09; 见链接

Android自带人脸识别

前言 碰到项目需求要判断上传的图片里只能有一个人&#xff0c;就像到了人脸识别功能&#xff0c;网上查资料说需要用opencv等各种图像库&#xff0c;项目肯定不能接受&#xff0c;没想到Android很早就已经集成了人脸识别的功能&#xff0c;这里记录一下。 实现效果 实现接口…