资源简介
python人脸识别(opencv)
代码片段和文件信息
#coding=utf-8
import os
import cv2
import numpy
def mkdir(filename):
‘‘‘
创建文件夹
:param filename: 文件夹目录
:return: 空
‘‘‘
‘‘‘
判断是否存在该文件夹
‘‘‘
if not os.path.exists(filename):
‘‘‘
创建文件夹
‘‘‘
os.mkdir(filename)
def readFace():
‘‘‘
裁剪人脸照片
:return:
‘‘‘
fileFacebase = “face“
‘‘‘
创建人脸根目录
‘‘‘
mkdir(fileFacebase)
‘‘‘
获取数据目录子级列表
‘‘‘
dirs = os.listdir(“d_img“)
‘‘‘
循环获取目录信息
‘‘‘
for j dir in enumerate(dirs):
‘‘‘
拼接人脸子集目录路径
‘‘‘
fileInfo = fileFacebase + “/%s“ % str(dir)
‘‘‘
创建人脸自己目录
‘‘‘
mkdir(fileInfo)
‘‘‘
获取采集数据子集的子集文件
‘‘‘
ds = os.listdir(“d_img/%s“ % dir)
‘‘‘
定义变量方便人脸文件命名
‘‘‘
num = 0
‘‘‘
遍历采集数据子集的子集文件
‘‘‘
for d in ds:
‘‘‘
拼接文件路径
‘‘‘
path = “d_img/%s/%s“ % (dir d)
‘‘‘
读取文件
‘‘‘
image = cv2.imread(path)
try:
‘‘‘
更改图片为灰度图片加快辨认速度(可选但是要统一)
‘‘‘
image = cv2.cvtColor(src=image code=cv2.COLOR_BGR2GRAY)
except Exception as e:
pass
‘‘‘
加载脸部数据对比
‘‘‘
face_detecotr = cv2.CascadeClassifier(“haarcascade_frontalface_alt.xml“)
‘‘‘
对比数据
‘‘‘
face_dete = face_detecotr.detectMultiScale(image minNeighbors=4)
‘‘‘
判断是否可以采集到人脸数据
‘‘‘
if isinstance(face_dete tuple):
print(“没有检查到头像111“)
pass
else:
‘‘‘
采集到数据名称加1
‘‘‘
num += 1
‘‘‘
遍历数据获取起点xy轴信息人脸宽度w高度h
‘‘‘
for x y w h in face_dete:
‘‘‘
绘画矩形框便于展示
1窗口展示的图片
2起点xy坐标
3终点xy坐标
4矩形框颜色
5边框宽度
‘‘‘
cv2.rectangle(img=image pt1=(x y) pt2=(x + w y + h) color=[0 0 255] thickness=1)
‘‘‘
裁剪获取人脸部分数据
‘‘‘
imgFace = image[y:y + h x:x + w]
‘‘‘
设置图片大小
‘‘‘
imgFace = cv2.resize(imgFace dsize=(200 200))
‘‘‘
保存人脸图片
‘‘‘
cv2.imwrite(“face/%s/%d_face.jpg“ % (dir num) imgFace)
‘‘‘
获取人脸数据
‘‘‘
def getFace():
‘‘‘
获取人脸文件夹下所有子文件夹
‘‘‘
dirs = os.listdir(“face“)
‘‘‘
因为需要让算法学习所以将数据遍历之数组中方便算法学习
‘‘‘
# 用于存放人脸数据
X = []
# 用于存放对应数据的标签猜想应该可以直接使用文件夹名称
Y = []
‘‘‘
遍历人脸图片文件存储路径将输入存储到数据集合
‘‘‘
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8553 2019-10-24 20:33 python人脸识别\05_opencv人脸识别.py
文件 341406 2019-10-23 09:36 python人脸识别\haarcascade_eye.xm
文件 676709 2019-10-23 09:36 python人脸识别\haarcascade_frontalface_alt.xm
文件 242 2020-03-13 00:18 python人脸识别\requirements.txt
目录 0 2020-03-13 00:20 python人脸识别\
- 上一篇:python 绘图(方形、线条、圆形)
- 下一篇:窗口动态镶嵌ui窗体
相关资源
- python 绘图(方形、线条、圆形)
- 记事本简洁版.py
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
- 量化交易(附python常见函数的使用方
- python 名字用字排行
- Python串口通信(pyserial)
- python读取nfc卡
- django图片浏览+scrapy实现数据抓取功能
- jetbrains-agent.jar(pycharm破解包)
- 豆瓣爬虫;Scrapy框架
- 近百条常用有用的python语句
- Python数据结构.pdf60078
- python实现香农编码
- 自动绘制优美图案.py
- python批量获取网站上的视频地址
- Python求解非线性方程组的高效方法.
-
Python sc
ript for fix VxWorks SymTbl in IDA - Python黑魔法指南-v2.0
- 酷喵浏览器 python代码
- 用python导出oracle表百万表记录到EXCE
- Django博客+pyecharts动态折线图+mysql
- python wifi 破解(基于pywifi)
- Python面试大全(245道面试题)
评论
共有 条评论