位置: IT常识 - 正文

Python人脸识别

编辑:rootadmin
Python人脸识别

推荐整理分享Python人脸识别,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

#头文件:

import cv2 as cv

import numpy as np

import os

from PIL import Image

import xlsxwriter

import psutil

import time

#人脸录入

def get_image_name(name):

name_map = {f.split('.')[1]:int(f.split('.')[0]) for f in os.listdir("./picture")}

if not name_map:

name_number = 1

elif name in name_map:

name_number = name_map[name]

else:

name_number = max(name_map.values()) + 1

return './picture/' + str(name_number) + "." + name + '.jpg'

def save_face(faces,img,name):

if len(faces) == 0:

print("没有检测到人脸,请调整")

return

if len(faces) >1:

print("检测到多个人脸")

return

x,y,w,h = faces[0]

cv.imwrite(get_image_name(name),img[y:y+h,x:x+w])

print("录上了")

def img_extract_faces(img):

gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)

face_classifier = cv.CascadeClassifier('./haarcascade_frontalface_alt2.xml')

return face_classifier.detectMultiScale(gray, 1.1, 5), gray

def main():

cap = cv.VideoCapture(0)

if not cap.isOpened():

print('连接失败')

name = input("what is your name? ")

while True:

ret, frame = cap.read()

if not ret:

print("读帧失败")

break

#检测并提取人脸信息

faces, gray = img_extract_faces(frame)

for x, y, w, h in faces:

cv.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), thickness=2)

cv.imshow("还好我拼命护住了脸,英俊的相貌才得以保存", frame)

k = cv.waitKey(1)

if k == ord('s'):

save_face(faces, gray, name)

elif k == ord('q'):

break

Python人脸识别

cap.release()

cv.destroyAllWindows()

main()

#训练数据

faces_list = []

labels = []

def main():

for f in os.listdir('./picture'):

img = cv.imread(os.path.join('./picture',f), 0)

face_classifier = cv.CascadeClassifier(r'E:\Users\liufugui\PycharmProjects\pythonProject4\venv\Lib\site-packages\cv2\data\haarcascade_frontalface_alt2.xml')

faces = face_classifier.detectMultiScale(img)

if len(faces) == 0:

continue

x, y, w, h = faces[0]

faces_list.append(img[y:y+h, x:x+w])

labels.append(int(f.split('.')[0]))

recognizer = cv.face.LBPHFaceRecognizer_create()

recognizer.train(faces_list, np.array(labels))

recognizer.write('train.yml')

main()

#人脸识别

def main():

cap = cv.VideoCapture(0)

if not cap.isOpened():

print('连接失败')

name_map = {int(f.split('.')[0]) : f.split('.')[1] for f in os.listdir("./picture")}

while True:

ret, frame = cap.read()

if not ret:

print("读帧失败")

break

gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)

recognizer = cv.face.LBPHFaceRecognizer_create()

recognizer.read('train.yml')

face_classifier = cv.CascadeClassifier('./haarcascade_frontalface_alt2.xml')

faces = face_classifier.detectMultiScale(gray)

for (x, y, w, h) in faces:

img_id, confidence = recognizer.predict(gray[y:y + h, x:x + w])

if confidence > 75:

name = '未识别'

else:

name = name_map[img_id]

cv.putText(

img=frame, org=(x, y), text=name,

fontFace=cv.FONT_HERSHEY_SIMPLEX, fontScale=0.75, color=(0, 255, 0), thickness=1

)

cv.circle(

img=frame, center=(x + w // 2, y + h // 2), radius=w//2,

color=(255, 0, 0), thickness=1

)

cv.imshow("还好我拼命护住了脸,英俊的相貌才得以保存", frame)

if cv.waitKey(1) == ord('q'):

break

cap.release()

cv.destroyAllWindows()

main()

本文链接地址:https://www.jiuchutong.com/zhishi/297754.html 转载请保留说明!

上一篇:vue2配置cesium详细教程(vue2 mixin)

下一篇:Vue 组件强制刷新方式(vue组件强制刷新)

  • 增值税认证发票平台可以导出发票明细吗?
  • 没有收入可以不给抚养费吗
  • 个体户开电子发票需要交税吗
  • 单利率和复利率excel计算公式
  • 第一次开电子普票怎么开
  • 小规模纳税人专票税率是多少
  • 视同销售的销售额如何确定
  • 出口退税收到退税款会计分录
  • 职工教育经费怎么花
  • 期末结转增值税
  • 建筑 设计 招聘
  • 会计期末要做的事情
  • 半成品成本核算 一般企业怎么核算
  • 年终奖金怎么扣税划算
  • 出口报关单上的运费和保费和实际不一致
  • 长期借款利息计入在建工程
  • 携程电子发票可以发到QQ邮箱吗
  • 预交电费有发票吗
  • 单位公积金可以拖欠多长时间缴
  • 外管证税收预缴税率是多少?
  • 去年没有交社保,今年交了有用吗
  • 退票费可以开公司发票吗
  • 成本费用总额包括所得税费用吗
  • 个体工商户的公章丢了怎么办
  • 公允价值变动损益怎么算出来的
  • 企业缴纳社保包含哪些内容
  • 怎么删除office
  • win10重装系统后黑屏无图像
  • 报销差旅费怎么算
  • 布拉索夫地图
  • framework 开发
  • 申报系统异常
  • 育空河24102
  • php预处理查询
  • pytorch go
  • sklearn报错
  • 搭建本地http服务器
  • php如何安装配置
  • mkdir 命令
  • 帝国cms配置数据库
  • 为什么增值税最后的负税人是消费者企业还要尽量少交税
  • 企业销售旧固定资产税票开票
  • 写出php的常用四种基本变量类型
  • 汇算清缴涉及哪些调整
  • 织梦小说采集
  • sqlserver sid
  • 金融债券的利息不计复利不能提前支取
  • 车改补贴算工资吗
  • 出租车发票上没有税务局的印章能报销么
  • 什么是企业会计确认计量和报告的空间范围
  • sql server必知必会
  • 小规模纳税人地方教育费附加税率
  • 制造费用一定要摊销吗
  • 行政单位应缴财政税金
  • 网络发票管理办法细则
  • 主营业务成本的增加在哪一方
  • 购买空调做账分录
  • 存出保证金计入
  • 出口单证不齐责令整改可以处
  • sql server数据库怎么导出
  • 机箱前面板是哪里
  • ssh访问windows
  • linux常用命令sed
  • 通用pe工具箱安装win7
  • ubuntu无线网卡驱动离线安装
  • 基于centos6安装kvm服务
  • ubuntu apt-cdrom
  • win7系统安装软件乱码
  • Linux系统怎么用FTP传文件
  • asp.net runat
  • python的导入
  • jquery倒计时60秒
  • linux ssh 安装
  • boostrapping
  • 相机调取失败
  • 深入理解javascript特性
  • python3模拟登录
  • 电子税务局打印发票提示本机未检测到
  • 河南电子税务局残保金怎么申报
  • 代建单位资质要求
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设