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

  • 苹果13耳机孔在哪里(iphone13的耳机孔在哪)

    苹果13耳机孔在哪里(iphone13的耳机孔在哪)

  • 苹果手机直播卡顿怎么解决(苹果手机直播卡怎么回事)

    苹果手机直播卡顿怎么解决(苹果手机直播卡怎么回事)

  • 红米note8pro怎么开液冷(红米note8pro怎么样)

    红米note8pro怎么开液冷(红米note8pro怎么样)

  • 联通物联网卡变成3g了怎么办(联通 物联网卡)

    联通物联网卡变成3g了怎么办(联通 物联网卡)

  • 热点和wifi有什么区别(热点和wifi一样吗)

    热点和wifi有什么区别(热点和wifi一样吗)

  • 华为畅享10分辨率低怎么办(华为畅享10分辨率多少)

    华为畅享10分辨率低怎么办(华为畅享10分辨率多少)

  • 分享内容生成失败(分享内容生成失败的原因)

    分享内容生成失败(分享内容生成失败的原因)

  • iphone xs max支持快充吗(iphonexsmax支持nfc么)

    iphone xs max支持快充吗(iphonexsmax支持nfc么)

  • 由于文件许可权错误无法完成保存操作(由于文件许可权错误 无法完成保存操作是什么原因)

    由于文件许可权错误无法完成保存操作(由于文件许可权错误 无法完成保存操作是什么原因)

  • 华为p30pro进水解决办法(华为p30手机进水了怎么处理比较好)

    华为p30pro进水解决办法(华为p30手机进水了怎么处理比较好)

  • 惠普打印机显示e2是什么故障(惠普打印机显示r是什么意思)

    惠普打印机显示e2是什么故障(惠普打印机显示r是什么意思)

  • ppt基本维恩图在哪(基本维恩图怎么设置强烈效果)

    ppt基本维恩图在哪(基本维恩图怎么设置强烈效果)

  • vivo手机没有信号是什么原因(vivo手机没有信号是哪里出现了问题)

    vivo手机没有信号是什么原因(vivo手机没有信号是哪里出现了问题)

  • 监控摄像头连不上网络(监控摄像头连不上手机怎么回事)

    监控摄像头连不上网络(监控摄像头连不上手机怎么回事)

  • 苹果重新注册id(苹果重新注册id有什么影响)

    苹果重新注册id(苹果重新注册id有什么影响)

  • 4g加是什么意思(4g加是什么意思啊)

    4g加是什么意思(4g加是什么意思啊)

  • 一加7pro有红外遥控吗(一加7pro红外线功能)

    一加7pro有红外遥控吗(一加7pro红外线功能)

  • word如何分页排版左右(word分页排版)

    word如何分页排版左右(word分页排版)

  • oppo摄像头升降什么型号(oppo摄像头升降手机)

    oppo摄像头升降什么型号(oppo摄像头升降手机)

  • 手机卡了关机也关不了(手机卡了关机也关不掉了开屏也开不了了怎么办)

    手机卡了关机也关不了(手机卡了关机也关不掉了开屏也开不了了怎么办)

  • kenproxy.exe是什么进程 有什么作用 kenproxy进程查询(kwhcommonpop.exe是什么程序)

    kenproxy.exe是什么进程 有什么作用 kenproxy进程查询(kwhcommonpop.exe是什么程序)

  • 帝国cms建立栏目后更新没有反应(帝国cms自定义列表)

    帝国cms建立栏目后更新没有反应(帝国cms自定义列表)

  • 支付宝如何缴纳车辆购置税
  • 个人所得税的税点是多少钱
  • 应收款时间太长怎么处理
  • 一般纳税人增值税优惠政策
  • 所得税汇算清缴时间期限
  • 职工教育经费税收金额怎么算
  • 公司之间借钱不还违法吗
  • 收到其他银行划回的款项属于什么科目
  • 其他应付款能转收入么
  • 企业承担个人所得税账务处理
  • 出口退税可以不申报是否需要缴纳增值税
  • 成品油消费税征税
  • 小规模纳税人购进商品的会计分录
  • 个体户进项发票多开出发票少怎么办
  • 个人所得税工资薪金税率表
  • 暂估入库冲回有差额
  • 分公司向总公司转钱可以吗
  • 华为鸿蒙harmony os
  • 技术合同的计税依据包括研究开发经费
  • 信用卡扣手续费怎么算的
  • 生产车间发生的间接费用会计科目
  • uniapp支付流程
  • 购买电子承兑需要给对方开发票吗
  • 在金税卡里面如何交社保
  • ai作画app
  • php获取当前定位
  • 控制系统动力学
  • js位运算有什么用
  • 公链dapp
  • 关系代数关系运算
  • 利润分配反映什么
  • 生产企业出口退税账务处理会计分录
  • 分公司非独立核算怎么做账
  • 增值税普通发票几个点
  • photoshop虚化局部
  • 瀑布流样式
  • 开具增值税专用发票的承诺书
  • 使用mysql命令
  • oracle sql 不等于某个字符
  • 经营范围变更银行变更需要什么资料
  • 差旅费报销过程中会计和出纳分别做什么
  • 员工报销的差旅费会计分录
  • 商业折扣怎么扣
  • 增值税留抵情况下要交流转税吗
  • 新公司几个月不报税
  • 应收账款贷方余额应与什么科目合并后填入报表
  • 期末调汇汇兑损益科目
  • 增资协议书范本合同
  • 发票的抵扣期限是多少天
  • 营业外支出为负数原因
  • 主营业务收入多栏式明细账怎么登
  • 用SQL脚本读取Excel中的sheet数量及名称的方法代码
  • sql wind
  • sql语句去除重复值
  • 在一台服务器上安装软件
  • mysql 远程连接不上
  • XP系统怎么设置双屏幕
  • centos7 ethtool
  • win7怎么进行系统还原
  • linux常用命令cat
  • win7word打开很慢怎么解决
  • 用linux做服务器
  • windows10直接安装
  • win7移动软件
  • win11系统ie浏览器
  • javascript运用
  • 设计模式三种
  • python选择器
  • angularjs1.5
  • android framework 框架层功能梳理
  • Android事件处理模型
  • unity3d怎么让物体依次运动
  • 税控设备可以在电子税务局上买吗
  • 江苏省国家税务局发票查询
  • 重庆市电子税务局电话
  • 广东省地方税务局电子办税服务厅
  • 上海个体工商户怎么报税
  • 如何推进社会治理
  • 税务申报扣除
  • 河南省纪检委网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设