#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv/highgui.h> #include <opencv/cv.h> #include <opencv2/objdetect/objdetect.hpp> #include <opencv2/contrib/contrib.hpp> #include <opencv2/opencv.hpp> using namespace cv ; using namespace std ; int main() { vector<Mat> images; vector<int> labels; // images for first person images.push_back(imread("/Users/powenko/Desktop/face/s1/1.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); images.push_back(imread("/Users/powenko/Desktop/face/s1/2.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); images.push_back(imread("/Users/powenko/Desktop/face/s1/3.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); images.push_back(imread("/Users/powenko/Desktop/face/s1/4.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); images.push_back(imread("/Users/powenko/Desktop/face/s1/5.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); images.push_back(imread("/Users/powenko/Desktop/face/s1/6.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); images.push_back(imread("/Users/powenko/Desktop/face/s1/7.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); images.push_back(imread("/Users/powenko/Desktop/face/s1/8.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); images.push_back(imread("/Users/powenko/Desktop/face/s1/9.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(0); //images.push_back(imread("/Users/powenko/Desktop/face/s1/9.jpg", CV_LOAD_IMAGE_GRAYSCALE)); //labels.push_back(0); // images for second person images.push_back(imread("/Users/powenko/Desktop/face/s2/1.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(1); images.push_back(imread("/Users/powenko/Desktop/face/s2/2.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(1); images.push_back(imread("/Users/powenko/Desktop/face/s2/3.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(1); images.push_back(imread("/Users/powenko/Desktop/face/s2/4.jpg", CV_LOAD_IMAGE_GRAYSCALE)); labels.push_back(1); // images.push_back(imread("/Users/powenko/Desktop/face/s2/5.jpg", CV_LOAD_IMAGE_GRAYSCALE)); // labels.push_back(1); Ptr<FaceRecognizer> model = createFisherFaceRecognizer(); model->train(images, labels); model->save("/Users/powenko/Desktop/face.xml"); Mat img = imread("/Users/powenko/Desktop/face/s2/5.jpg", CV_LOAD_IMAGE_GRAYSCALE); int predicted = model->predict(img); return 0; }