位置: 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组件强制刷新)

  • 企业所得税研发费用加计扣除条件
  • 网上代增值税开错不退
  • 应交税费和税金及附加的关系
  • 增值税和购置税是一个东西吗
  • 企业注销,账面余额怎样调账
  • 劳务税能退税吗现在
  • 金蝶标准版如何结转到下月
  • 车票抵扣进项税申报在哪一栏
  • 增值税抵扣可以跨月吗
  • 一次性就业补助金的领取条件
  • 无销项税额
  • 出差补贴计入工资总额吗
  • 进项税转出主要内容包括
  • 工人工资可以直接记主营业务成本吗
  • 从事演出业务取得的收入
  • 发生销售折让可以不开具
  • 资产负债表中无形资产是原值还是净值
  • 非独立核算的分公司怎么做账
  • 员工借款会计科目
  • 筹建期的行政罚款的账务处理怎么做?
  • 进项税额转出年末要结转吗
  • 文化用品利润怎么样
  • 房地产企业增值税预缴
  • 发票票种核定怎么提交
  • 2021税收分类编码大全
  • 货代企业所得税优惠政策
  • 房产税怎么做账
  • 超市购销和联营有什么区别
  • 兼职人员的工资需要发票吗
  • 委托加工物资成本计入
  • 转账和电汇哪个便宜
  • bios是什么请简要介绍一下
  • php数组函数,选班长
  • 工业会计做账的基本流程
  • win11玩游戏鼠标卡顿
  • php递归遍历文件夹
  • 美国宇航局视频
  • 用人单位垫付生育津贴怎么算
  • python采集器
  • js读取本地excel
  • 驱动开发函数详解
  • 其他综合收益在资产负债表中如何填列
  • 销售服饰
  • 手工账结转
  • 客户的赔偿金会计分录
  • 公司注销时多缴税怎么办
  • 融资交易的会计处理
  • 民办学校学费收现金
  • 增值税专用发票怎么开
  • 触发器失败是什么意思
  • 支付宝提现到对公账户要收手续费吗
  • 不开票收入要交印花税吗
  • 如何计提固定资产折旧费
  • 工程物资主要包括建筑材料
  • 预收账款如何做账务处理
  • 跨年度发票的报表怎么填
  • 暂估入库的商品作暂估冲红会计分录
  • 企业职工食堂就餐收费
  • 机械租赁公司需要什么证件
  • 生产车间包括什么
  • 出口汇率按报关价格算吗
  • 填写记账凭证内容摘要的三个要素
  • sql clean
  • bios设置电脑定时启动
  • windows隐藏文件夹开启
  • u盘启动pe装机工具怎么用
  • npscheck.exe - npscheck是什么进程 有什么用
  • 在linux中使用什么命令可以执行shell脚本
  • window8系统ie浏览器在哪里
  • WIN10怎么彻底删除works2
  • edit apps
  • 问题少年特训学校
  • perl实例
  • 从零开始学什么好
  • 工作笔记范文100篇简短
  • jquery和js能混着用吗
  • 浏览器工作机制
  • htc windows
  • 备忘录全部笔记
  • 什么是契税发票?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设