/// <summary>
/// Given the eigen value, reconstruct the projected image
/// </summary>
/// <param name="eigenValue">The eigen values</param>
/// <returns>The projected image</returns>
public Image <Gray, byte> EigenProjection(float[] eigenValue)
{
Image <Gray, byte> res = new Image <Gray, byte>(AverageImage.Width, AverageImage.Height);
var inputVecs = Array.ConvertAll(EigenImages, (Image <Gray, float> img) => img.Ptr);
CvInvoke.cvEigenProjection(inputVecs, eigenValue, AverageImage.Ptr, res.Ptr);
return(res);
}