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

  • 报个税时显示扣缴单位无有效的税费种认定信息
  • 增值税发票必须本人去开吗
  • 企业减少注册资金需要缴税吗
  • 机器设备一般折旧几年
  • 税控盘如何统计开票金额
  • 发票税率金额如何得出
  • 企业股权无偿转让不缴增值税
  • 红字发票认证
  • 视同销售的销售额如何确定
  • 土地使用权增资方案
  • 房屋租赁收入怎么做账
  • 收到0税率的增值税发票
  • 小规模纳税人销售额
  • 购买货物运送运费怎么算
  • 抵扣发票未申报
  • 管理费抵扣如何计算
  • 餐饮店投资入股注意事项
  • 高温气温
  • 事业单位开发成本占比
  • 统借统贷协议
  • 公司账上没钱股东又不出资发工资怎么办
  • 金银首饰的消费税税务处理
  • 企业暂估收入申报,未开发票,几年以后要开票如何处理
  • 行政事业单位如何加强内部控制
  • 1697509310
  • 办公室房租属于什么费用
  • 筹建期间的广宣费
  • 税务自查补缴税款的申报表在哪里找
  • windows太阳谷更新
  • 委托加工物资企业收回自用
  • 贸易公司的采购
  • 事业单位会计专业知识考什么
  • 实习生究竟该怎么缴个税?
  • vue切换背景图片
  • 会计政策变更追溯调整为什么不影响所得税
  • php数组的概念是什么
  • 调参技巧
  • 前端页面设计
  • 图像分类实战
  • PHP magento后台无法登录问题解决方法
  • 大华摄像头海康威视录像机
  • 将织梦dedecms转换到wordpress
  • 一联发票和二联发票
  • 恢复从回收站已经清除的文件
  • 政府补助属于营业外收入吗
  • 小规模纳税人税收政策2023
  • 市政建设配套费 契税
  • 实收资本认缴如何做账
  • 无形资产如何计提减值
  • 非居民企业境内所得
  • 物业安装摄像头的规定
  • 长期借款工程验收会计分录怎么做
  • 百望开发票
  • 小规模发票跨月冲红税款可以退回吗
  • 居间活动费用由谁负担
  • 增值税版本升级
  • 磁盘缓存技术
  • windows2003服务
  • window 开机启动
  • window7 32位系统
  • suse 10.3 安装http apche2时遇到的rpm依赖问题的解决方法
  • 如何使用光盘做启动盘
  • ubuntu文本编辑器命令
  • windows xp 开机
  • win7进运行
  • centos zsh
  • linux命令的参数
  • 在linux中使用v2ray
  • 有哪些好用的linux
  • js基础有哪些
  • 使用文字输入
  • unity3d shader之Julia集和Mandelbrot集绘制美丽图案 (二)
  • jQuery插件ajaxFileUpload使用实例解析
  • Python 正则表达式入门(中级篇)
  • 安卓 crash
  • 青岛新农合网上缴费时间
  • 国土国税垂管部主任是谁
  • 长安cs752016款2.0手动
  • 印花税核算有两种情况,是如何处理的?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设