看这篇文章前,可以先阅读Eigenface(PCA)人脸识别实验
1、数据提取与处理
%matplotlib inline
# 导入所需模块
import matplotlib.pyplot as plt
import numpy as np
import os
import cv2
# plt显示灰度图片
def plt_show(img):
plt.imshow(img,cmap='gray')
plt.show()
# 读取一个文件夹下的所有图片,输入参数是文件名,返回文件地址列表
def read_directory(directory_name):
faces_addr = []
for filename in os.listdir(directory_name):
faces_addr.append(directory_name + "/" + filename)
return faces_addr
# 读取所有人脸文件夹,保存图像地址在faces列表中
faces = []
for i in range(1,41):
faces_addr = read_directory('C:/Users/ASUS/Desktop/att_faces/s'+str(i))
for addr in faces_addr:
faces.append(addr)
# 读取图片数据,生成列表标签
images = []
labels = []
for index,face in enumerate(faces):
# enumerate函数可以同时获得索引和值
image = cv2.im