(Simplified) Code Sample
cv::Mat cvImage;
UIImageToMat(uiimage, cvImage, NO);
cv::CascadeClassifier faceCascade;
faceCascade.load();
std::vector faces;
faceCascade.detectMultiScale(image, faces, 1.1, 2,
CV_HAAR_FIND_BIGGEST_OBJECT | CV_HAAR_DO_ROUGH_SEARCH, cv::Size(60, 60));
cv::Ptr _model = cv::createEigenFaceRecognizer();
_model->train(images, labels);
for each face {
int predictedLabel = -1;
double confidence = 0.0;
cv::Mat onlyTheFace;
cv::cvtColor(cvImage(face), onlyTheFace, CV_RGB2GRAY);
cv::resize(onlyTheFace, onlyTheFace, cv::Size(100, 100), 0, 0);
_model->predict(onlyTheFace, predictedLabel, confidence);
}
14
Monday 9 September 13