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

  • 华为手机指南针在哪里找(华为手机指南针怎么校准)

    华为手机指南针在哪里找(华为手机指南针怎么校准)

  • 苹果耳机跳电是什么情况(苹果耳机跳电量)

    苹果耳机跳电是什么情况(苹果耳机跳电量)

  • 美团自动扣款在哪设置(美团自动扣款在钱包)

    美团自动扣款在哪设置(美团自动扣款在钱包)

  • 华为mate10怎么恢复出厂设置(华为mate10怎么恢复出厂设置后照片还有吗)

    华为mate10怎么恢复出厂设置(华为mate10怎么恢复出厂设置后照片还有吗)

  • 双卡4g是不是耗电快(双卡启用4g耗电大么?)

    双卡4g是不是耗电快(双卡启用4g耗电大么?)

  • 爱奇艺TV怎么用QQ会员(爱奇艺怎么tv播放)

    爱奇艺TV怎么用QQ会员(爱奇艺怎么tv播放)

  • 芒果tv怎么改绑定手机(芒果tv怎么换绑)

    芒果tv怎么改绑定手机(芒果tv怎么换绑)

  • 国内怎么下载tiktok(国际版tiktok下载)

    国内怎么下载tiktok(国际版tiktok下载)

  • 苹果11屏幕录制在哪里(苹果11屏幕录制怎么设置出来)

    苹果11屏幕录制在哪里(苹果11屏幕录制怎么设置出来)

  • 只能读出不能写入的存储器是(只能读出不能写入的存储器有哪些)

    只能读出不能写入的存储器是(只能读出不能写入的存储器有哪些)

  • 苹果7怎么关闭诊断用量(苹果7怎么关闭旁白模式)

    苹果7怎么关闭诊断用量(苹果7怎么关闭旁白模式)

  • 小米e32c和e32a啥区别(小米e32c和e32s有什么区别哪个好)

    小米e32c和e32a啥区别(小米e32c和e32s有什么区别哪个好)

  • 苹果x手机墙纸怎么缩小(苹果X手机墙纸在哪设置)

    苹果x手机墙纸怎么缩小(苹果X手机墙纸在哪设置)

  • 芒果tv账号可以注销嘛(芒果tv账号可以注销吗)

    芒果tv账号可以注销嘛(芒果tv账号可以注销吗)

  • azw3手机用什么看(azw3手机用什么软件看)

    azw3手机用什么看(azw3手机用什么软件看)

  • 拼多多天天领现金是真的吗(拼多多天天领现金)

    拼多多天天领现金是真的吗(拼多多天天领现金)

  • led灯对眼睛有影响吗(led灯对眼睛的伤害)

    led灯对眼睛有影响吗(led灯对眼睛的伤害)

  • 订阅号助手安全吗(订阅号助手会导致微信封号吗)

    订阅号助手安全吗(订阅号助手会导致微信封号吗)

  • 微信正在输入怎么设置(微信正在输入怎么样才会关闭)

    微信正在输入怎么设置(微信正在输入怎么样才会关闭)

  • win10硬盘分区格式(win10硬盘分区格式是GUID格式,win7的是MBR格式)

    win10硬盘分区格式(win10硬盘分区格式是GUID格式,win7的是MBR格式)

  • iphonexr打电话经常断线(iphonexr打电话有杂音)

    iphonexr打电话经常断线(iphonexr打电话有杂音)

  • icmp是什么协议(ICMP是什么协议的简称)

    icmp是什么协议(ICMP是什么协议的简称)

  • 新手朋友们如何设置BIOS密码(新手应该怎么样)

    新手朋友们如何设置BIOS密码(新手应该怎么样)

  • 如何在 Windows 中执行干净启动(如何在windows中添加输入法)

    如何在 Windows 中执行干净启动(如何在windows中添加输入法)

  • 谈谈ES5和ES6的区别(es5和es6的区别)

    谈谈ES5和ES6的区别(es5和es6的区别)

  • 出口退税认定如何办理
  • 放弃退税理由是什么
  • 免征增值税的项目如何开发票
  • 如何区分追索权和付款请求权的区别
  • 其他应付款计入资本公积
  • 5个点的税点
  • 工资中事假扣款执行依据
  • 0申报是不是不需要填数据
  • 缴纳社保的会计分录怎么做
  • 少收的应收和应付账款怎么处理?
  • 如何解决私账流水过大的问题?
  • 个人给公司垫付款起诉状
  • 事业单位的股东是什么
  • 技术服务年费是什么
  • 一般纳税人提供非学历教育可以简易计税吗
  • 最优五种个人捐赠方式税务比较?
  • 销售类合同审核要点
  • 企业ci
  • 成品油电子普通发票开错了
  • 纯粮食白酒广告语
  • 个税申报月份有误如何调整?
  • Linux系统怎么调整屏幕亮度
  • windows11禁止自动更新
  • php发送电子邮件
  • Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
  • php预定义常量要使用define函数进行定义
  • 销售费用中业务费包括哪些
  • PasSrv.exe - PasSrv是什么进程 有什么用
  • phpunicode
  • php写一个简单的单例模式
  • 公司转让固定资产要交税吗
  • elipse左侧菜单栏显示
  • 其他综合收益什么类科目
  • python调用cuda执行加法
  • php原生类
  • python2 tkinter
  • 盈利性学校收到财政补贴要缴企业所得税吗
  • php上传文件代码iapp
  • 织梦官方网站
  • 公司开一般户需要多久
  • 现金流量表编制原则
  • 小规模纳税人开专票可以抵扣进项吗
  • 异地预缴税款怎么抵扣
  • 出口的进项发票认证后要确认吗
  • 货物抵货款的账务处理
  • 本年利润的会计分录怎么写
  • 暂估入库怎么处理
  • 净现金流量算残值么
  • 新政府会计固定资产的核算与计量
  • 将资产货物用于职工福利
  • 什么是企业支付宝
  • 投资性房地产的范围
  • 创建mysql表sql语句
  • innodb怎么实现
  • 怎样修改注册表关闭win11系统杀毒软件
  • windows vista 版本
  • services.exe修改注册表
  • centos 安装
  • dvd rom drive bbs priorities
  • linux wordpress gzip压缩开启方法
  • mac未能分区
  • win10地理位置
  • win10系统附件游戏被删除
  • Win10系统怎么截图快捷键
  • unity3d基础操作
  • javascript对象的创建方法
  • 深入理解中国式现代化
  • android的消息机制
  • Unity3D游戏开发标准教程
  • 网页过关类游戏
  • Unity-DF 2048界面
  • unity learning
  • unity 2danimation
  • javascript例题
  • jquery插件开发方法
  • 税收效应分析供求曲线
  • 安徽省税务干部学校
  • 地摊经济火了,月薪8000元
  • 宁波市国家税务局网上办税服务厅
  • 消费税的税收筹划案例分析
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设