/** 计算一张图片的均差,仅针对一个人的图像做计算 形参icon为1副人脸图像(ImageIcon类型) */
  public static double[] calAveDeviationOneObject(ImageIcon icon) {
    icon = ImageHandle(icon, width, height); // 图片等比例处理
    Image img = icon.getImage();
    BufferedImage bimg = ImageUtil.ImageToBufferedImage(img);
    // 获取第i张图片的像素,并转成double[]
    int[] imgVec = getPixes(bimg); // 获取像素
    double[] imgVecD = intToDouble(imgVec); // 将int[]转成double[]

    double[] result = calAveDeviationOneObject(imgVecD);

    return result;
  }
  /**
   * 取图片特征值和特征向量方法 结果:[特征值]和[特征向量]保存在Features的[EigenValue]和[featureVector]内
   *
   * @param args 传入N张图片
   * @return 返回空
   */
  public static void imageToResult(ImageIcon[] icon) {
    int pixLength = width * height; // 图片一维数组长度

    //		Image[] img = new Image[icon.length];
    //		BufferedImage[] bimg = new BufferedImage[icon.length];
    double[][] vec = new double[pixLength][icon.length];
    //		System.out.println(icon.length + "!@#:" + pixLength);
    for (int i = 0; i < icon.length; i++) {
      icon[i] = ImageHandle(icon[i], width, height); // 图片等比例处理
      Image img = icon[i].getImage();
      BufferedImage bimg = ImageUtil.ImageToBufferedImage(img);

      // 获取第i张图片的像素,并转成double[]
      int[] imgVec = getPixes(bimg); // 获取像素

      //			for(int z =0; z<imgVec.length; z++)
      //			System.out.print(imgVec[z]);
      //			System.out.println("_____________________________________");

      double[] imgVecD = intToDouble(imgVec); // 将int[]转成double[]

      // 构造vec[][],即N副人脸图像(一维)合成的二维数据
      for (int j = 0; j < imgVecD.length; j++) {
        vec[j][i] = imgVecD[j];
      }
    }

    // 计算平均人脸图像
    double[] aveVec = calAveVector(vec);

    // 计算每张图片的均差
    double[][] aveDev = calAveDeviation(vec, aveVec);

    // 计算协方差矩阵
    double[][] covMat = calCovarianceMatrix(aveDev);

    // 通过SVD定理,计算矩阵的特征值
    double[] eigenValue = calEigenValue(covMat);
    //		Features.getInstance().setEigenValue(eigenValue);

    // 通过SVD定理,计算矩阵的特征向量
    double[][] featureVector = calFeatureVector(covMat);
    //		Features.getInstance().setFeatureVector(featureVector);

    // 通过公式变换,求取真正的特征向量
    changeFeatureVector();
  }