image based face recognition

asked 2016-05-23 00:41:51 -0600

new_to_linux gravatar image

updated 2016-05-23 01:26:31 -0600

i have write the below code for reading two images from folder and apply fisherface training algorithm on them there are two person images that i have read....can anyone tell me how to proceed the code for how to recognised person between these two images ???

const char *facerecAlgorithm = "FaceRecognizer.Fisherfaces";

int main() { string facerecAlgorithm = "FaceRecognizer.Fisherfaces"; Ptr<facerecognizer> model;

 // Make sure the "contrib" module is dynamically loaded at runtime.
 // Requires OpenCV v2.4.1 or later (from June 2012), otherwise the FaceRecognizer will not compile or run!
 bool haveContribModule = initModule_contrib();
 if (!haveContribModule) 
 {
    cerr << "ERROR: The 'contrib' module is needed for FaceRecognizer but has not been loaded into OpenCV!" << endl;
    exit(1);
 }
 else
 {
    cout <<  "\ncontrib module is successfully loaded" << std::endl;    
 }


 model = Algorithm::create<FaceRecognizer>(facerecAlgorithm);

 if (model.empty()) 
 {
cerr << "ERROR: The FaceRecognizer [" << facerecAlgorithm;
cerr << "] is not available in your version of OpenCV. ";
cerr << "Please update to OpenCV v2.4.1 or newer." << endl;
exit(1);
 }
 else
 {
    cout <<  "\nFisherFaceRecognizer is successfully loaded" << std::endl;  
 }

 cout <<  "\nFisherFaceRecognizer training starting......" << std::endl;

// holds images and labels
vector<Mat> images;
vector<int> labels;

// images for first person
images.push_back(imread("1.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0);
images.push_back(imread("3.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0);
images.push_back(imread("5.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0);

// images for second person
images.push_back(imread("2.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(1);
images.push_back(imread("4.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(1);

// This is the common interface to train all of the available cv::FaceRecognizer
// implementations
 model->train(various_images, labels);

 cout <<  "\nFisherFaceRecognizer training finished......" << std::endl;
return 0;

}

edit retag flag offensive close merge delete