Fisherface(FLD)人脸识别实验大致与Eigenface(PCA)人脸识别实验相同。主要是在模型训练方面,需要使用cv2.face.FisherFaceRecognizer_create(),最终的预测结果与实际相符。
如果想要了解Eigenface(PCA)人脸识别实验,可以参考我的另一篇博客: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