Python在人脸识别方面功能很强大,程序语言简单高效,下面小编来编程实现一下如何实现人脸识别。如有错点,还望斧正

识别图片中的人脸位置

#人脸识别分类器路径tool_url = r'C:\Users\86188\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml'#人脸定位函数def face_detect(img):    gray = cv.cvtColor(img,cv.COLOR_BGRA2BGR)    face = cv.CascadeClassifier(tool_url)    #将图片转化为灰度图    faces = face.detectMultiScale(gray)    #确定人脸部分    for x,y,w,h in faces:        reg = cv.rectangle(img, (x, y),( x + w, y + h), color=(0, 255, 0), thickness=2)    cv.imshow("reg",reg)

根据训练集训练数据并保存(dataTraining.py)

import osimport cv2 as cvimport numpyfrom PIL import Image'''训练数据来自s2和s9'''def getImageAndIds(path):    facesSimples = []    ids = []    img_paths = [os.path.join(path,f) for f in os.listdir(path)]    #检测人脸    tool_url = r'C:\Users\86188\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml'    # 调用插件获取图像特征    face = cv.CascadeClassifier(tool_url)    for i in img_paths:        # print(i)        img = Image.open(i).convert("L")        # Image._show(img)        #将图片转换为数组        img_np = numpy.array(img,'uint8')        # print(img_np)        # 获取图像的人脸信息和对应id        faces = face.detectMultiScale(img_np)        id = int(i.split(path)[1].split('.')[0])for x, y, w, h in faces:            facesSimples.append(img_np[y:y+h,x:x+w])            ids.append(id)    return facesSimples,idsif __name__ == "__main__":    #图片路径    path = "./data/"    faces,ids = getImageAndIds(path)    #获取循环对象    reg = cv.face.LBPHFaceRecognizer_create()    reg.train(faces,numpy.array(ids))    #保存文件    reg.write("trainer/trainer.yml")

人脸识别(faceChecking.py)

import cv2 as cvimport os,numpy#检测人脸tool_url = r'C:\Users\86188\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\cv2\data\haarcascade_frontalface_default.xml'#图片数据路径path = './data/'# 调用插件获取图像特征face = cv.CascadeClassifier(tool_url)#加载训练数据reg = cv.face.LBPHFaceRecognizer_create()reg.read("trainer/trainer.yml")img= cv.imread("3.jpg")#将图像的人脸特征圈出来gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)faces = face.detectMultiScale(gray)for x, y, w, h in faces:    # print(x,y,w,h)    cv.rectangle(gray, (x, y), (x + w, y + h), color=(0, 0, 255), thickness=2)    #检测出识别后的图片和id    id,configence = reg.predict(gray[y:y+h,x:x+w])    #显示对应图片    print("编号:{},置信度:{}".format(id,configence))    aim_img = cv.imread(os.path.join(path,str(id)+'.jpg'))    #显示目标图片    cv.imshow("aim_img",aim_img)cv.imshow("result",gray)cv.waitKey(0)cv.destroyAllWindows()

python实现人脸识别_python人脸识别代码实现丨内附代码相关推荐

  1. 我用Python爬取了难下载的电子教材(内附代码)

    我用Python爬取了难下载的电子教材(内附代码) 第一次在CSDN上面分享经历,有点激动.本大二狗最近这段时间去不了学校又想看教材,不巧学习通上面的部分内容老师设置了不可下载啊.好在最近学习了一点P ...

  2. 基于PaddleHub的AI人脸侦测:不再用手打灰机(附代码)

    项目实现: 用摄像头做人脸识别 判定头部角度,以此来进行游戏控制 所有代码和相关文件可在github中自取: github: planegame_head_control 效果展示请见B站: 一.项目 ...

  3. 数据结构六种常见的排序方法(超详细图解内附代码)

    这里写目录标题 实验目的 实验内容 实验要求 六种排序方法细解 直接插入排序 冒泡排序 简单选择排序 希尔排序 快速排序 归并排序 六种排序好坏分析 代码段 运行结果 实验目的 1.能够清楚表述主要内 ...

  4. python人脸特征提取_Python实现识别人脸特征并打印出来

    通过 Python 的face_recognition模块实现人脸检测功能,首先需要安装好face_recognition包:可通过pycharm直接安装,也可以用pip安装,还可以通过anacond ...

  5. cvpr2020 人脸检测与识别_Python人脸检测识别实例教程

    前言 随着科技的发展,人脸识别技术在许多领域得到的非常广泛的应用,手机支付.银行身份验证.手机人脸解锁等等. 识别 废话少说,这里我们使用 opencv 中自带了 haar人脸特征分类器,利用训练好的 ...

  6. python提取发票信息发票识别_python 发票识别

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本接口支持机动车销售统一发票和二手车销售统一发票的识别,包括发票号码.发票代码. ...

  7. python颜色的字母代码_python字母识别

    广告关闭 提供包括云服务器,云数据库在内的50+款云计算产品.打造一站式的云产品试用服务,助力开发者和企业零门槛上云. 最后识别每个字符. 图片的处理,我采用 python 标准图像处理库 pil. ...

  8. python求扇形面积_Python随机生成均匀分布在单位圆内的点代码示例

    Python有一随机函数可以产生[0,1)区间内的随机数,但是如果我们想生成随机分布在单位圆上的,那么我们可以首先生成随机分布在单位圆边上的点,然后随机调整每个点距离原点的距离,但是我们发现这个距离不 ...

  9. python数据格式简介_Python中数据类型时间的介绍(附代码)

    本篇文章给大家带来的内容是关于Python中数据类型时间的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.什么是时间数据类型 Python中表示时间类型的数据结构为 ...

最新文章

  1. 【ffmpeg】编译时报错:error: undefined reference to `av...
  2. 宫崎骏动画里的新垣结衣见过没?简直美呆!
  3. 使用git恢复未提交的误删数据
  4. java_web用户的自动登录模块的实现
  5. linux下DHCP服务器设置——让自己的智能手机上自己的wifi网络
  6. Data - 信息获取途径汇总
  7. 20155327结对编程练习
  8. [转载] Python语言程序设计基础(第二版)嵩天等课后习题答案
  9. 关于Kafka幂等producer的讨论
  10. 中国OpenJDK联盟解决问题和BUG的优先级
  11. Win7开机动画图片下载大全 修改攻略
  12. 视频处理中各个分辨率/数字电视系统显示格式 的介绍(QCIF,CIF,4CIF,D1,720P,1080I,1080P等)
  13. 掌握这6个可视化图表,小白也能轻松玩转数据分析
  14. JAMA Psychiatry:大脑发育过程中与注意和情绪变化相关的内在结构性的改变
  15. 【NOI题库】【NOIP2016PJ猜题】雇佣兵
  16. Process ID 59:0 owns resources that are blocking processes on Scheduler 2
  17. 纯JS判断iPhone准确机型,iPhone6~iPhoneXs Max
  18. 商用油炸锅行业调研报告 - 市场现状分析与发展前景预测
  19. React中轮播报错pan-y不起作用Unable to preventDefault inside passive event listener invocation
  20. 不会深度学习怎么写人脸识别

热门文章

  1. .NET Core实践系列之SSO-跨域实现
  2. .NETCore 简单且高级的库 csredis v3.0.0
  3. 使用DDD、事件风暴和Actor来设计反应式系统
  4. 【杭州】Hack for Cloud Beginner微软黑客松大赛
  5. 分布式测试工具Beetle.DT的部署并进行HTTP,SQL,TCP压测
  6. ASP.NET Core 源码学习之 Options[3]:IOptionsSnapshot
  7. EF Core 插件 —— ToSql
  8. 使用VS Code开发 调试.NET Core 应用程序
  9. C# 图片画矩形,添加文字
  10. Redis -- 基础操作 [2]