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

  • 荣耀50耳机怎么插(荣耀50耳机怎么用不了)

    荣耀50耳机怎么插(荣耀50耳机怎么用不了)

  • iphone13手机铃声怎么设置(iphone13手机铃声设置)

    iphone13手机铃声怎么设置(iphone13手机铃声设置)

  • 波克比怎么进化(波克比怎么进化成波克基古)

    波克比怎么进化(波克比怎么进化成波克基古)

  • 小米手机如何改app名字(小米手机如何改变默认浏览器)

    小米手机如何改app名字(小米手机如何改变默认浏览器)

  • 手机处理器是什么意思(手机处理器是什么意思它主要作用麒麟980)

    手机处理器是什么意思(手机处理器是什么意思它主要作用麒麟980)

  • 腾讯课堂怎么改备注(腾讯课堂怎么改名字改成学生名字)

    腾讯课堂怎么改备注(腾讯课堂怎么改名字改成学生名字)

  • 快手拉黑对方同城还能看见吗(快手拉黑后对方)

    快手拉黑对方同城还能看见吗(快手拉黑后对方)

  • 华为智能机器人叫什么名字(华为智能机器人小艺视频)

    华为智能机器人叫什么名字(华为智能机器人小艺视频)

  • 小米6home键失灵修复方法(小米6home键失灵重启下又好了)

    小米6home键失灵修复方法(小米6home键失灵重启下又好了)

  • 苹果十一怎么开机(苹果十一怎么开广角)

    苹果十一怎么开机(苹果十一怎么开广角)

  • 少量水弄湿手机听筒会坏吗(水不小心溅到手机上)

    少量水弄湿手机听筒会坏吗(水不小心溅到手机上)

  • ios7和ios8区别(ios7对比ios8)

    ios7和ios8区别(ios7对比ios8)

  • 京东我的预约在哪里(京东我的预约在哪里查看苹果手机)

    京东我的预约在哪里(京东我的预约在哪里查看苹果手机)

  • 网络信息安全预防措施(网络信息安全预防措施有哪些方法)

    网络信息安全预防措施(网络信息安全预防措施有哪些方法)

  • 显示器下面5个按钮(显示器下面5个按钮,关机状态下按的有用吗)

    显示器下面5个按钮(显示器下面5个按钮,关机状态下按的有用吗)

  • 手机投屏 手机能关掉吗(手机投屏手机屏幕不能熄灭怎么办)

    手机投屏 手机能关掉吗(手机投屏手机屏幕不能熄灭怎么办)

  • mate30 5g什么时候上市(mate305g什么时候升级鸿蒙3.0体验版)

    mate30 5g什么时候上市(mate305g什么时候升级鸿蒙3.0体验版)

  • 怎么把换行符全部去掉(全部换行)

    怎么把换行符全部去掉(全部换行)

  • 抖音怎么玩的 (抖音怎么玩的视频介绍)

    抖音怎么玩的 (抖音怎么玩的视频介绍)

  • 火山小视频怎么改城市(火山小视频怎么开店铺)

    火山小视频怎么改城市(火山小视频怎么开店铺)

  • 怎么屏幕录像(怎么屏幕录像苹果手机)

    怎么屏幕录像(怎么屏幕录像苹果手机)

  • 零钱明细如何单个删除(零钱明细如何单独显示)

    零钱明细如何单个删除(零钱明细如何单独显示)

  • 网页制作软件、网页设计软件有哪些,如何选择适合自己的?(web网页制作软件)

    网页制作软件、网页设计软件有哪些,如何选择适合自己的?(web网页制作软件)

  • 软件产品即征即退条件
  • 不开票收入要交所得税吗
  • 上年少计提工会经费本年怎么调整
  • 提高资产利用率,增加销售收入
  • 合同一方按手印另一方没按有效吗
  • 个体工商户申报年报
  • 一般纳税人季报利润表怎么填
  • 开具正数发票中如何体现扣款
  • 纳税评估怎么办
  • 收据注明实际到账时间
  • 企业收到发要失控发票做进项税额转出如何做税务处理?
  • 购买银行理财产品被骗怎么办
  • 工资3500该不该辞职
  • 房地产公司成立时间
  • 企业注销前注册资本必须到账吗
  • 关于抄税的详细介绍
  • 自然人税收管理扣缴端(原个税)申报实训
  • 企业残疾人保障金的缴纳标准
  • 食堂买菜怎么算
  • ntfs磁盘压缩
  • Windows10如何修复引导
  • php中split
  • 增值税价外费用是什么意思
  • windows 11 正式版实际使用体验如何?
  • 记账凭证摘要是什么意思
  • 预收账款通俗易懂的说法
  • 如何理解土地使用制度
  • 跨区域涉税事项报告表在哪里打印
  • js解耦
  • thinkphp console
  • 广告费列支
  • 如何在vue项目中禁止谷歌浏览器改变网页颜色
  • js实现功能
  • 财政拨款结转累计结转为负
  • 一年内到期的非流动资产包括
  • 出差费用计入
  • 进口货物的账务处理办法
  • node.js入门教程
  • 出售固定资产的损失计入什么科目
  • sql2008收缩日志文件
  • mysql 死锁处理
  • mysql数据表分区
  • 管理费用包含研发费用需要减吗?
  • 工商年报资产状况公示还是不公示
  • 长期待摊费用待抵扣税金
  • 换下来的旧电池还有用吗
  • 电子设备计税基础
  • 管理费用借方红字怎么记凭证
  • 增值税运费发票清单怎么开
  • 提取公积金收手续费吗
  • 甲方代付农民工工资谁报个税
  • 同城票据交换差额户金额从哪得来的
  • 独立核算和非独立核算哪个好
  • 记账凭证背面贴原始凭证图片
  • 预缴税款的会计处理
  • 公司支付质保金怎么做账
  • 企业清算的顺序
  • sql2005 HashBytes 加密函数
  • windows2003服务不能开启
  • Windows Server 2003关闭启动后的Ctrl+Alt+Del选项和关机时的时间跟踪程序方法
  • windows10周年更新
  • winxp系统怎么装
  • ubuntu如何下载
  • browsercore.exe是什么
  • mac声音怎么调大
  • window10自带录屏录制不工作
  • 上传图片 js
  • android 自定义drawable
  • linux执行多个脚本
  • js有while吗
  • iframe的高度自适应
  • Android使用教程
  • javascript总结笔记
  • javascript数组的本质
  • 深圳企业所得税税率多少
  • 纽约消费税多少
  • 残疾人买车可以减免购置税吗
  • 惠州市公交车投诉平台
  • 电子秒表怎么读数9:33.12
  • 国税申报作废怎么操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设