基于python的opencv人脸训练模型
2023-06-13 09:15:44 时间
import numpy as np
from PIL import Image
import os
import cv2
# 人脸数据路径
path = 'Facedata'
recognizer = cv2.face.LBPHFaceRecognizer_create()
detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
def getImagesAndLabels(path):
imagePaths = [os.path.join(path, f) for f in os.listdir(path)] # join函数的作用?
faceSamples = []
ids = []
for imagePath in imagePaths:
PIL_img = Image.open(imagePath).convert('L') # convert it to grayscale
img_numpy = np.array(PIL_img, 'uint8')
id = int(os.path.split(imagePath)[-1].split(".")[1])
faces = detector.detectMultiScale(img_numpy)
for (x, y, w, h) in faces:
faceSamples.append(img_numpy[y:y + h, x: x + w])
ids.append(id)
return faceSamples, ids
print('Training faces. It will take a few seconds. Wait ...')
faces, ids = getImagesAndLabels(path)
recognizer.train(faces, np.array(ids))
recognizer.write(r'face_trainer\trainer.yml')
print("{0} faces trained. Exiting Program".format(len(np.unique(ids))))
相关文章
- python求逆矩阵的方法,Python 如何求矩阵的逆「建议收藏」
- python学习
- pycharm安装opencv-python_geany配置python
- YYDS!一行Python代码即可实现数据可视化大屏
- Python线程指南[通俗易懂]
- java和python哪个值得学-学java好还是Python好?
- 符合python命名规范的标识符是什么_Python标识符命名规范
- 【Python】python文件打开方式详解——a、a+、r+、w+、rb、rt区别[通俗易懂]
- python输出unicode编码_Python以utf8编码读取文件
- Python的正则表达式_python正则表达式例子
- python分析人口出生率代码_国家统计局居然也能用的上Python?人口数据Python脚本了解一下?…[通俗易懂]
- OpenCV-Python学习(7)—— OpenCV 轨迹栏操作和键盘响应操作
- python语言关键字是_Python 关键字
- python 图像处理库_Python图像处理库
- 最全Python操作excel代码,让你每天早下班两小时
- python评分卡代码_python爬虫书籍豆瓣评分
- Python selenium webdriver 基本使用
- python--日志系统
- opencv(4.5.3)-python(二十九)--Hough线变换
- Python实现KS曲线
- Python基础语法-函数-函数的返回值
- Python基础语法-函数-递归函数计算斐波那契数列
- python常见面试题(一)详解编程语言
- Python&Appium实现安卓手机图形解锁详解编程语言
- 使用Python执行Linux命令的方法(python调用linux命令)
- Connecting to MSSQL with Python: A Comprehensive Guide for Beginners(python连接mssql)
- python实现系统状态监测和故障转移实例方法
- Python分析Nginx访问日志并保存到MySQL数据库实例