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

  • 手机qq随心贴的关闭步骤是什么(手机qq随心贴在哪里打开)

    手机qq随心贴的关闭步骤是什么(手机qq随心贴在哪里打开)

  • 网易云能下载mp3格式的音乐吗(网易云能下载到本地吗)

    网易云能下载mp3格式的音乐吗(网易云能下载到本地吗)

  • 微信加好友不用通过就加上(微信加好友不用验证直接通过对方可以转账吗)

    微信加好友不用通过就加上(微信加好友不用验证直接通过对方可以转账吗)

  • 苹果se2电池多少毫安电池(苹果se2电池多少毫安)

    苹果se2电池多少毫安电池(苹果se2电池多少毫安)

  • 屏幕共享能看到对方脸么(屏幕共享能看到ppt的备注吗)

    屏幕共享能看到对方脸么(屏幕共享能看到ppt的备注吗)

  • ipadmini可以用笔吗(ipad mini2可以用笔)

    ipadmini可以用笔吗(ipad mini2可以用笔)

  • 网店有哪些平台(网店有哪些平台好)

    网店有哪些平台(网店有哪些平台好)

  • 怎么让电脑恢复到某个时间前(怎么让电脑恢复上一次正常操作)

    怎么让电脑恢复到某个时间前(怎么让电脑恢复上一次正常操作)

  • 红米note8可以插内存卡吗(红米note8可以插几个卡)

    红米note8可以插内存卡吗(红米note8可以插几个卡)

  • 微信群备注别人能看到吗(微信群备注别人的昵称所有人都能看到吗)

    微信群备注别人能看到吗(微信群备注别人的昵称所有人都能看到吗)

  • vivox9可不可以用5g网(vivox9能用5g卡吗)

    vivox9可不可以用5g网(vivox9能用5g卡吗)

  • qq好友突然没有了怎么回事(qq好友突然没有显示在线状态是)

    qq好友突然没有了怎么回事(qq好友突然没有显示在线状态是)

  • 为啥华为p30pro摇晃里面会有异响(华为p30遥控器功能不见了)

    为啥华为p30pro摇晃里面会有异响(华为p30遥控器功能不见了)

  • 什么是2.4g的wifi(家用wifi是2.4g吗)

    什么是2.4g的wifi(家用wifi是2.4g吗)

  • 怎样调成win7兼容模式(怎么改win7兼容模式)

    怎样调成win7兼容模式(怎么改win7兼容模式)

  • 苹果11支持双卡吗(苹果11支持双卡4G吗)

    苹果11支持双卡吗(苹果11支持双卡4G吗)

  • 苹果xr怎么样使用双卡(苹果xr怎样设置)

    苹果xr怎么样使用双卡(苹果xr怎样设置)

  • pr导出一定要渲染吗(pr渲染后导出与直接导出有区别吗)

    pr导出一定要渲染吗(pr渲染后导出与直接导出有区别吗)

  • word正文字体大小怎么调(word文字正常大小)

    word正文字体大小怎么调(word文字正常大小)

  • 带手机壳会影响散热吗(带手机壳会影响拍照吗)

    带手机壳会影响散热吗(带手机壳会影响拍照吗)

  • 央视影音下载的视频在手机哪里(央视影音下载的视频为什么看不了)

    央视影音下载的视频在手机哪里(央视影音下载的视频为什么看不了)

  • 一加七pro什么时候上市(一加七pro发售)

    一加七pro什么时候上市(一加七pro发售)

  • anaconda完全卸载方法(anaconda卸载干净)

    anaconda完全卸载方法(anaconda卸载干净)

  • web前端开发规范(web前端开发规范有哪些)

    web前端开发规范(web前端开发规范有哪些)

  • phpcms怎么判断是否有图片(php判断https)

    phpcms怎么判断是否有图片(php判断https)

  • phpcms如何取消后台登录验证码(phpcms怎么样)

    phpcms如何取消后台登录验证码(phpcms怎么样)

  • 什么时候计提企业所得税
  • 工商年报的纳税总额是什么
  • 应收账款未收到是否要交税
  • 原材料变成半成品
  • 企业未能实施个人所得税代扣代缴是否会罚款呢?
  • 银行的期初数据怎么进行账务处理?
  • 施工企业项目管理办法
  • 不能税前扣除的费用有哪些
  • 计提工会经费是按应付职工薪酬的借方还是贷方
  • 行政机关作出下列行为属于行政复议的范围
  • 会计账簿的定义及其作用
  • 境内企业得到境外企业的红利是否需要缴纳所得税?
  • 本月发放上月工资情况说明
  • 关于纳税人取得的发票
  • 饭店试菜费用如何计算
  • 会展服务服务费怎么是免税
  • 高新企业申报指南
  • 普通发票没有进账怎么办
  • 跨年度所得税多怎么办
  • 去年开的增值税普通发票今年可以作废吗
  • 为离职员工代缴社保 如何规避法律责任
  • svchost很多进程
  • win10 21h1正式版怎么样
  • 项目设计费怎么计算
  • 工程发票可以用材料发票抵扣吗
  • 产权登记在开发商名下怎么过户
  • umi ts
  • Javan tree frogs sitting together on a stalk in Indonesia (© SnapRapid/Offset by Shutterstock)
  • vue3.0用法
  • 厂房的设计审查要求
  • 期间费用计入产品成本的费用吗
  • 增值税专用发票怎么开
  • php htmlentities()函数的定义和用法
  • redis php实例
  • 凭证字号怎么写
  • 2020注册谷歌账号方法
  • 出口退税款的账务怎么做
  • vue接入高德地图
  • 最新人工智能软件chingt
  • opencv项目开发实战
  • 定期定额征收超出3万怎么办
  • 支付税审费用怎么做账
  • 股权转让 收益
  • 发票丢失如何处理入账
  • 融资购买固定资产账务处理
  • 出口产品报关多少天
  • 烟叶税的计税依据如何确定
  • 印花税该是如何征收的
  • 工装费用制度
  • 工程造价不能超出多少预算
  • 交租金没有发票怎么办
  • 小规模可以开红网吗
  • 职工住房补贴能否计入工资总额在税前扣除?
  • 在建工程转固规定
  • 个人交五险一金多少钱一个月
  • 公司运营成本如何计算
  • 公司法人可以变更给老人吗
  • mysql中decimal对应java类型
  • iis6配置网站
  • 远程登陆服务器命令
  • vrvarp.exe是什么
  • 苹果mac系统休眠怎么解除
  • 如何关闭windows密钥
  • windows7播放器在哪找
  • linux确认命令
  • linux的ssr
  • unity3d创建模型
  • js的异步解决方案有哪些
  • sudo提权漏洞
  • 仿百度首页html代码静态
  • js实现带搜索功能的下拉菜单
  • 代收的款项支付需不需要开发票
  • 新道云软件介绍
  • 电子税务局无法显示抵扣发票
  • 商铺土地增值税预缴税率是多少
  • 机打发票真伪查询
  • 西安车辆购置税缴纳需要什么材料
  • 江西省国家税务局总局官网
  • 中国税务网发票怎么开
  • 扣缴个人所得税客户端操作流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设