//求协方差矩阵
//求PCADImage[][]的转置矩阵
int PCADImageT[IMGVECTORLEN][IMGNUM];//定义PCADImage的转置矩阵
void VarMatrix()//协方差矩阵
{
int i, j;
for (i = 0; i < IMGNUM; i++){
for (j = 0; j < IMGVECTORLEN; j++)
PCADImageT[j][i] = PCADImage[i][j];
}
for (int m = 0; m<IMGVECTORLEN; m++){
for (int s = 0; s<IMGVECTORLEN; s++){
Var_matrix_result[m][s] = 0;//变量使用前记得初始化,否则结果具有不确定性
for (int n = 0; n<IMGNUM; n++){
Var_matrix_result[m][s] += PCADImageT[m][n] * PCADImage[n][s];
}
}
}
}
//求PCADImage[][]的转置矩阵
int PCADImageT[IMGVECTORLEN][IMGNUM];//定义PCADImage的转置矩阵
void VarMatrix()//协方差矩阵
{
int i, j;
for (i = 0; i < IMGNUM; i++){
for (j = 0; j < IMGVECTORLEN; j++)
PCADImageT[j][i] = PCADImage[i][j];
}
for (int m = 0; m<IMGVECTORLEN; m++){
for (int s = 0; s<IMGVECTORLEN; s++){
Var_matrix_result[m][s] = 0;//变量使用前记得初始化,否则结果具有不确定性
for (int n = 0; n<IMGNUM; n++){
Var_matrix_result[m][s] += PCADImageT[m][n] * PCADImage[n][s];
}
}
}
}