I try to use LBPH Face Recognizer in Android + JavaCV. However I get stuck here "trainImages.put(i, inputImage);". My codes don't further than this line and my app stops.
MatVector trainImages = new MatVector(numberOfEigenFaces);
CvArr trainLabels = new CvArr();
PointerPointer labelPointer;
for (int i=0; i<cNumberOfFacesToLearn; i++) {
String filename = Environment.getExternalStorageDirectory() + File.separator + "face" + Integer.toString(i) + ".jpg";
labelPointer = new PointerPointer(i);
trainLabels.put(labelPointer);
CvArr inputImage = cvLoadImage(filename, CV_LOAD_IMAGE_GRAYSCALE);
trainImages.put(i, inputImage);
}
FaceRecognizerPtr model = createLBPHFaceRecognizer(1, 8, 8, 8, Double.MAX_VALUE);
model.get().train(trainImages, trainLabels);
CvArr testImage = cvLoadImage(filenameFaceToTest, CV_LOAD_IMAGE_GRAYSCALE);
int result = model.get().predict(testImage);