/**
*
* @Title: reconstructFace
* @Description: 从输入的预处理图像在人脸模型中重构人脸
* @param model 包含预处理的人脸模型
* @param preprocessedFace 输入的预处理过的图像
* @return
* Mat
* @throws
*/
public static Mat reconstructFace(BasicFaceRecognizer model, Mat preprocessedFace){
try {
// 获取每个人脸的特征值
Mat eigenvectors = model.getEigenVectors();
// 获取平均人脸
Mat averageFaceRow = model.getMean();
int faceHeight = preprocessedFace.rows();
// subspaceProject将人脸图像投影到特征空间
Mat projection = subspaceProject(eigenvectors, averageFaceRow, preprocessedFace.reshape(1, 1));
// subspaceReconstruct从特征空间重构图像
Mat reconstructionRow = subspaceReconstruct(eigenvectors, averageFaceRow, projection);
Mat reconstructionMat = reconstructionRow.reshape(1, faceHeight);
Mat reconstructedFace = new Mat(reconstructionMat.size(), CvType.CV_8U);
reconstructionMat.convertTo(reconstructedFace, CvType.CV_8U, 1, 0);
return reconstructedFace;
} catch(CvException e) {
e.printStackTrace();
}
return null;
}
Recognition.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:classchecks
作者:
评论列表
文章目录