예제 #1
0
void Eigenfaces::getFaceCoordinates(vpColVector & coordinates, int subject, int image, int k) const {
    vpMatrix face;
    loadImage(face, subject, image);

    if (k == 0) k = _nSubjects * _nImages;
    if (k > _nSubjects * _nImages) k = _nSubjects * _nImages;

    vpColVector rface = (face - _meanFace).stackRows().t();

    for (int i = 0; i < k; i++)
        coordinates.stack(_eigenfaces.getCol(i).t() * rface);
}