├── test_classifiers.h ├── kmeans_trainer.h ├── make_test_background_image.h ├── kmeans_trainer.cpp ├── train_bovw.h ├── train_SVM_alone.cpp ├── foodcam_predict.cpp ├── CMakeLists.txt ├── make_test_background_image.cpp ├── predict_common.h ├── train_bovw.cpp ├── README ├── test_classifiers.cpp ├── training_common.cpp ├── manual_classifier.cpp ├── main.cpp ├── predict_common.cpp ├── test.txt ├── test_one_class.txt ├── test_one_class_rects.txt ├── training.txt └── FoodcamClassifier.xcodeproj └── project.pbxproj /test_classifiers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * test_classifiers.h 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/20/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | #include "predict_common.h" -------------------------------------------------------------------------------- /kmeans_trainer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * kmeans_trainer.h 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/20/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | #include 11 | #include 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | 24 | using namespace cv; 25 | using namespace std; -------------------------------------------------------------------------------- /make_test_background_image.h: -------------------------------------------------------------------------------- 1 | /* 2 | * make_test_background_image.h 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/21/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | #include 11 | #include 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | using namespace cv; 24 | using namespace std; -------------------------------------------------------------------------------- /kmeans_trainer.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * kmeans_trainer.cpp 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/20/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | #include "kmeans_trainer.h" 11 | 12 | int main(int argc, char** argv) { 13 | 14 | FileStorage fs("training _descriptors.yml", FileStorage::READ); 15 | Mat training_descriptors; 16 | fs["training_descriptors"] >> training_descriptors; 17 | fs.release(); 18 | 19 | BOWKMeansTrainer bowtrainer(1000); //num clusters 20 | bowtrainer.add(training_descriptors); 21 | cout << "cluster BOW features" << endl; 22 | Mat vocabulary = bowtrainer.cluster(); 23 | 24 | FileStorage fs1("vocabulary_1000.yml", FileStorage::WRITE); 25 | fs1 << "vocabulary" << vocabulary; 26 | fs1.release(); 27 | 28 | } -------------------------------------------------------------------------------- /train_bovw.h: -------------------------------------------------------------------------------- 1 | /* 2 | * train_bovw.h 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/19/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | 19 | #include 20 | #include 21 | #include 22 | #include 23 | 24 | #include 25 | 26 | 27 | using namespace cv; 28 | using namespace std; 29 | 30 | void trainSVM(map& classes_training_data, string& file_postfix, int response_cols, int response_type); 31 | void extract_training_samples(Ptr& detector, BOWImgDescriptorExtractor& bowide, map& classes_training_data); 32 | -------------------------------------------------------------------------------- /train_SVM_alone.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * train_SVM_alone.cpp 3 | * 4 | * 5 | * Created by Roy Shilkrot on 8/22/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | #include "train_bovw.h" 10 | 11 | int main() { 12 | cout << "load from file.."< classes_training_data; 14 | FileStorage fs("training_samples.yml",FileStorage::READ); 15 | vector classes_names; 16 | fs["classes"] >> classes_names; 17 | for (vector::iterator it = classes_names.begin(); it != classes_names.end(); ++it) { 18 | fs[(*it)] >> classes_training_data[*it]; 19 | } 20 | 21 | cout << "train SVM.." <" << endl; 15 | return 1; 16 | } 17 | 18 | FoodcamPredictor predictor; 19 | predictor.setDebug(false); 20 | 21 | Mat __img = imread(argv[1]),_img; 22 | if(__img.size() != Size(640,480)) { 23 | cerr << "Foodcam images are 640x480, you provided " << Point(__img.size()) << endl; 24 | return 1; 25 | } 26 | 27 | vector max_class; 28 | predictor.evaluateOneImage(__img,max_class); 29 | 30 | cout << max_class[0]; 31 | if (max_class.size()>1) { 32 | cout << "," << max_class[1]; 33 | } 34 | cout << endl; 35 | 36 | return 0; 37 | } -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | PROJECT( foodcam_classifier ) 2 | cmake_minimum_required(VERSION 2.8) 3 | 4 | FIND_PACKAGE( OpenCV 2.3 REQUIRED ) 5 | message(${OpenCV_DIR}) 6 | include_directories(${OpenCV_INCLUDE_DIRS}) 7 | 8 | set (CMAKE_CXX_FLAGS -fopenmp ) 9 | 10 | ADD_EXECUTABLE( manual-classifier manual_classifier.cpp ) 11 | TARGET_LINK_LIBRARIES( manual-classifier ${OpenCV_LIBS} ) 12 | 13 | ADD_EXECUTABLE( train-bovw train_bovw.cpp training_common.cpp ) 14 | TARGET_LINK_LIBRARIES( train-bovw ${OpenCV_LIBS} ) 15 | 16 | ADD_EXECUTABLE( build-vocabulary build_vocabolary.cpp ) 17 | TARGET_LINK_LIBRARIES( build-vocabulary ${OpenCV_LIBS} ) 18 | 19 | ADD_EXECUTABLE( kmeans-trainer kmeans_trainer.cpp ) 20 | TARGET_LINK_LIBRARIES( kmeans-trainer ${OpenCV_LIBS} ) 21 | 22 | ADD_EXECUTABLE( make-test-background make_test_background_image.cpp ) 23 | TARGET_LINK_LIBRARIES( make-test-background ${OpenCV_LIBS} ) 24 | 25 | ADD_EXECUTABLE( test-classifiers test_classifiers.cpp predict_common.cpp ) 26 | TARGET_LINK_LIBRARIES( test-classifiers ${OpenCV_LIBS} ) 27 | 28 | ADD_EXECUTABLE( train-SVM-alone train_SVM_alone.cpp training_common.cpp ) 29 | TARGET_LINK_LIBRARIES( train-SVM-alone ${OpenCV_LIBS} ) 30 | 31 | ADD_EXECUTABLE( foodcam-predict foodcam_predict.cpp predict_common.cpp ) 32 | TARGET_LINK_LIBRARIES( foodcam-predict ${OpenCV_LIBS} ) 33 | -------------------------------------------------------------------------------- /make_test_background_image.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | * make_test_background_image.cpp 4 | * FoodcamClassifier 5 | * 6 | * Created by Roy Shilkrot on 8/21/11. 7 | * Copyright 2011 MIT. All rights reserved. 8 | * 9 | */ 10 | 11 | #include "make_test_background_image.h" 12 | 13 | int main(int argc, char** argv) { 14 | string dir, filepath; 15 | DIR *dp; 16 | struct dirent *dirp; 17 | struct stat filestat; 18 | 19 | //get images 20 | dir = "foodcamimages/TEST"; 21 | dp = opendir( dir.c_str() ); 22 | int count = 0; 23 | Mat accum; 24 | while ((dirp = readdir( dp ))) 25 | { 26 | count++; 27 | 28 | filepath = dir + "/" + dirp->d_name; 29 | 30 | // If the file is a directory (or is in some way invalid) we'll skip it 31 | if (stat( filepath.c_str(), &filestat )) continue; 32 | if (S_ISDIR( filestat.st_mode )) continue; 33 | if (dirp->d_name[0] == '.') continue; //hidden file! 34 | 35 | cout << "eval file " << filepath << endl; 36 | 37 | Mat img = imread(filepath),img64; 38 | img.convertTo(img64, CV_64FC3); 39 | 40 | if (!accum.data) { 41 | accum.create(img.size(), CV_64FC3); 42 | } 43 | if (img64.size() == accum.size()) { 44 | accum += img64; 45 | } 46 | } 47 | 48 | accum /= count; 49 | Mat accum_8UC3; accum.convertTo(accum_8UC3, CV_8UC3); 50 | 51 | imwrite("background.png", accum_8UC3); 52 | 53 | imshow("accum", accum_8UC3); 54 | waitKey(0); 55 | } -------------------------------------------------------------------------------- /predict_common.h: -------------------------------------------------------------------------------- 1 | /* 2 | * predict_common.h 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/23/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | #include 21 | #include 22 | #include 23 | #include 24 | 25 | #include 26 | 27 | using namespace cv; 28 | using namespace std; 29 | 30 | class FoodcamPredictor { 31 | public: 32 | FoodcamPredictor(); 33 | void evaluateOneImage(Mat& __img, vector& out_classes); 34 | map& getClassesClassifiers() { return classes_classifiers; } 35 | void normalizeClassname(string& max_class) { 36 | if(max_class.compare("cake")==0) max_class = "cookies"; 37 | if(max_class.compare("fruit")==0) max_class = "fruit_veggie"; 38 | } 39 | void setDebug(bool _b) { debug = _b;} 40 | 41 | private: 42 | void initColors(); 43 | void initSVMs(); 44 | void initVocabulary(); 45 | 46 | bool debug; 47 | 48 | Ptr detector; 49 | Ptr bowide; 50 | Ptr matcher; 51 | Ptr extractor; 52 | map classes_classifiers; 53 | map classes_colors; 54 | Mat background; 55 | Mat vocabulary; 56 | }; -------------------------------------------------------------------------------- /train_bovw.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * train_bovw.cpp 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/19/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | #include "train_bovw.h" 11 | 12 | int main(int argc, char** argv_) { 13 | vector argv;for (int i = 0; i < argc; i++) {argv.push_back(argv_[i]);} 14 | 15 | if (argv.size() < 3) { 16 | cout << "USAGE: train_bovw "<> vocabulary; 25 | fs.release(); 26 | 27 | Ptr detector(new SurfFeatureDetector()); //detector 28 | //Ptr extractor(new SurfDescriptorExtractor());// extractor; 29 | Ptr extractor( 30 | new OpponentColorDescriptorExtractor( 31 | Ptr(new SurfDescriptorExtractor()) 32 | ) 33 | ); 34 | Ptr matcher(new BruteForceMatcher >()); 35 | BOWImgDescriptorExtractor bowide(extractor,matcher); 36 | bowide.setVocabulary(vocabulary); 37 | 38 | //setup training data for classifiers 39 | map classes_training_data; classes_training_data.clear(); 40 | 41 | cout << "extract_training_samples.." << endl; 42 | extract_training_samples(detector, bowide, classes_training_data); 43 | 44 | cout << "got " << classes_training_data.size() << " classes." <::iterator it = classes_training_data.begin(); it != classes_training_data.end(); ++it) { 46 | cout << " class " << (*it).first << " has " << (*it).second.rows << " samples"< cookies indian italian pizza veggie+fruit sandwiches 71 | cookies 56.3% 0.0% 4.3% 0.0% 13.5% 15.4% 72 | indian 0.0% 71.4% 6.4% 3.8% 3.4% 7.7% 73 | italian 0.0% 0.0% 63.8% 0.0% 14.6% 0.0% 74 | pizza 6.3% 0.0% 12.8% 92.3% 5.6% 15.4% 75 | veggie+fruit 0.0% 0.0% 2.1% 3.8% 49.4% 0.0% 76 | sandwiches 25.0% 14.3% 6.4% 0.0% 7.9% 61.5% 77 | 78 | Quick scan shows that it can classify Pizzas pretty good! 79 | The downfall are the veggie+fruit class, with less than 50% accuracy. 80 | Rest are lukewarm, but this can probably be attribued to the very small training set. 81 | -------------------------------------------------------------------------------- /test_classifiers.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * test_classifiers.cpp 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/20/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | #include "test_classifiers.h" 11 | 12 | int main(int argc, char** argv) { 13 | string filepath; 14 | 15 | cout << "------- test ---------\n"; 16 | 17 | ifstream ifs("test.txt",ifstream::in); 18 | char buf[255]; 19 | vector lines; 20 | while(!ifs.eof()) {// && count++ < 30) { 21 | ifs.getline(buf, 255); 22 | lines.push_back(buf); 23 | } 24 | ifs.close(); 25 | cout << "total " << lines.size() << " samples to scan" <& classes_classifiers = predictor.getClassesClassifiers(); 31 | map > confusion_matrix; 32 | for (map::iterator it = classes_classifiers.begin(); it != classes_classifiers.end(); ++it) { 33 | for (map::iterator it1 = classes_classifiers.begin(); it1 != classes_classifiers.end(); ++it1) { 34 | string class1 = ((*it).first.compare("cake")==0) ? "cookies" : ((*it).first.compare("fruit")==0) ? "fruit_veggie" : (*it).first; 35 | string class2 = ((*it1).first.compare("cake")==0) ? "cookies" : ((*it1).first.compare("fruit")==0) ? "fruit_veggie" : (*it1).first; 36 | confusion_matrix[class1][class2] = 0; 37 | } 38 | } 39 | 40 | for (int i = 0; i < lines.size(); i++) { 41 | string line(lines[i]); 42 | cout << line << endl; 43 | istringstream iss(line); 44 | 45 | iss >> filepath; 46 | // Rect r; char delim; iss >> r.x >> delim >> r.y >> delim >> r.width >> delim >> r.height; 47 | vector classes_; 48 | while (!iss.eof()) { 49 | string class_; iss >> class_; 50 | classes_.push_back(class_); 51 | } 52 | 53 | if(classes_.size() == 0) continue; 54 | 55 | cout << "eval file " << filepath << " (" << i << "/" << lines.size() << ")" << endl; 56 | 57 | Mat __img = imread(filepath),_img; 58 | if(__img.size() != Size(640,480)) continue; 59 | vector max_class; 60 | predictor.evaluateOneImage(__img,max_class); 61 | cout << "manual class: "; for(int j_=0;j_1) { 83 | putText(out, max_class[1] + "?", Point(out.cols/2-100,out.rows/2+30), CV_FONT_HERSHEY_PLAIN, 3.0, Scalar(255), 2); 84 | } 85 | imshow("out",out); 86 | waitKey(0); 87 | imwrite("output/"+filepath, out); 88 | } 89 | 90 | for(map >::iterator it = confusion_matrix.begin(); it != confusion_matrix.end(); ++it) { 91 | cout << (*it).first << " -> "; 92 | for(map::iterator it1 = (*it).second.begin(); it1 != (*it).second.end(); ++it1) { 93 | cout << (*it1).first << ":" << (*it1).second << endl; 94 | } 95 | // cout << endl; 96 | } 97 | 98 | cout << endl; 99 | 100 | } -------------------------------------------------------------------------------- /training_common.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * training_common.cpp 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/22/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | #include "train_bovw.h" 11 | 12 | void trainSVM(map& classes_training_data, string& file_postfix, int response_cols, int response_type) { 13 | 14 | //train 1-vs-all SVMs 15 | vector classes_names; 16 | for (map::iterator it = classes_training_data.begin(); it != classes_training_data.end(); ++it) { 17 | classes_names.push_back((*it).first); 18 | } 19 | 20 | string use_postfix = file_postfix; 21 | #pragma omp parallel for schedule(dynamic) private(use_postfix) 22 | for (int i=0;i::iterator it1 = classes_training_data.begin(); it1 != classes_training_data.end(); ++it1) { 37 | string not_class_ = (*it1).first; 38 | if(not_class_.compare(class_)==0) continue; 39 | samples.push_back(classes_training_data[not_class_]); 40 | class_label = Mat::zeros(classes_training_data[not_class_].rows, 1, CV_32FC1); 41 | labels.push_back(class_label); 42 | } 43 | 44 | cout << "Train.." << endl; 45 | Mat samples_32f; samples.convertTo(samples_32f, CV_32F); 46 | if(samples.rows == 0) continue; //phantom class?! 47 | CvSVM classifier; 48 | classifier.train(samples_32f,labels); 49 | 50 | { 51 | stringstream ss; 52 | ss << "SVM_classifier_"; 53 | if(file_postfix.size() > 0) ss << file_postfix << "_"; 54 | ss << class_ << ".yml"; 55 | cout << "Save.." << endl; 56 | classifier.save(ss.str().c_str()); 57 | } 58 | } 59 | } 60 | 61 | void extract_training_samples(Ptr& detector, BOWImgDescriptorExtractor& bowide, map& classes_training_data) { 62 | cout << "look in train data"< ifs(new ifstream("training.txt")); 64 | int total_samples = 0; 65 | vector classes_names; 66 | 67 | char buf[255]; int count = 0; 68 | vector lines; 69 | while(!ifs->eof()) {// && count++ < 30) { 70 | ifs->getline(buf, 255); 71 | lines.push_back(buf); 72 | } 73 | 74 | //try some multithreading 75 | #pragma omp parallel for schedule(dynamic,3) 76 | for(int i=0;ieof()) break; 79 | 80 | vector keypoints; 81 | Mat response_hist; 82 | Mat img; 83 | string filepath; 84 | 85 | string line(lines[i]); 86 | istringstream iss(line); 87 | 88 | iss >> filepath; 89 | Rect r; char delim; iss >> r.x >> delim >> r.y >> delim >> r.width >> delim >> r.height; 90 | string class_; iss >> class_; class_ = "class_" + class_; 91 | if(class_.size() == 0) continue; 92 | 93 | img = imread(filepath); 94 | r &= Rect(0,0,img.cols,img.rows); 95 | if(r.width != 0) { 96 | img = img(r); //crop to interesting region 97 | } 98 | // char c__[] = {(char)atoi(class_.c_str()),'\0'}; 99 | // string c_(c__); 100 | // cout << c_; cout.flush(); 101 | // putText(img, c_, Point(20,20), CV_FONT_HERSHEY_PLAIN, 2.0, Scalar(255), 2); 102 | // imshow("pic",img); 103 | 104 | detector->detect(img,keypoints); 105 | bowide.compute(img, keypoints, response_hist); 106 | 107 | cout << "."; cout.flush(); 108 | 109 | #pragma omp critical 110 | { 111 | if(classes_training_data.count(class_) == 0) { //not yet created... 112 | classes_training_data[class_].create(0,response_hist.cols,response_hist.type()); 113 | classes_names.push_back(class_); 114 | } 115 | classes_training_data[class_].push_back(response_hist); 116 | } 117 | total_samples++; 118 | 119 | // waitKey(0); 120 | } 121 | cout << endl; 122 | 123 | cout << "save to file.."<::iterator it = classes_training_data.begin(); it != classes_training_data.end(); ++it) { 127 | cout << "save " << (*it).first << endl; 128 | fs << (*it).first << (*it).second; 129 | } 130 | } 131 | } -------------------------------------------------------------------------------- /manual_classifier.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * manual_classifier.cpp 3 | * FoodcamClassifier 4 | * 5 | * Created by Roy Shilkrot on 8/19/11. 6 | * Copyright 2011 MIT. All rights reserved. 7 | * 8 | */ 9 | 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | using namespace cv; 24 | using namespace std; 25 | 26 | Point origin; 27 | Rect selection; 28 | Mat image; 29 | bool selectObject; 30 | 31 | void onMouse( int event, int x, int y, int, void* ) 32 | { 33 | if( selectObject ) 34 | { 35 | selection.x = MIN(x, origin.x); 36 | selection.y = MIN(y, origin.y); 37 | selection.width = std::abs(x - origin.x); 38 | selection.height = std::abs(y - origin.y); 39 | 40 | selection &= Rect(0, 0, image.cols, image.rows); 41 | } 42 | 43 | switch( event ) 44 | { 45 | case CV_EVENT_LBUTTONDOWN: 46 | origin = Point(x,y); 47 | selection = Rect(x,y,0,0); 48 | selectObject = true; 49 | break; 50 | case CV_EVENT_LBUTTONUP: 51 | selectObject = false; 52 | break; 53 | } 54 | } 55 | 56 | string char_to_class(char c) { 57 | switch (c) { 58 | case 'h': 59 | case 'H': 60 | return "chinese"; 61 | break; 62 | case 'p': 63 | case 'P': 64 | return "pizza"; 65 | break; 66 | case 'i': 67 | case 'I': 68 | return "indian"; 69 | break; 70 | case 'w': 71 | case 'W': 72 | return "wraps"; 73 | break; 74 | case 's': 75 | case 'S': 76 | return "sandwiches"; 77 | break; 78 | case 'a': 79 | case 'A': 80 | return "salad"; 81 | break; 82 | case 'c': 83 | case 'C': 84 | return "cookies"; 85 | break; 86 | case 'm': 87 | case 'M': 88 | return "mexican"; 89 | break; 90 | case 'f': 91 | case 'F': 92 | return "fruit_veggie"; 93 | break; 94 | case 'l': 95 | case 'L': 96 | return "misc"; 97 | break; 98 | case 't': 99 | case 'T': 100 | return "italian"; 101 | break; 102 | default: 103 | return "misc"; 104 | } 105 | } 106 | 107 | int main(int argc, char * const argv[]) { 108 | 109 | if(argc < 3) { 110 | cerr << "USAGE: manual_classifier "< > classified; 121 | 122 | namedWindow("pic"); 123 | setMouseCallback( "pic", onMouse, 0 ); 124 | 125 | ifstream ifs(argv[2],ifstream::in); 126 | 127 | set files_already_listed; 128 | if (ifs.is_open() && !ifs.eof()) { 129 | //something in here, get everything already listed 130 | char buf[255]; 131 | while (!ifs.eof()) { 132 | ifs.getline(buf, 255); 133 | string line(buf); 134 | files_already_listed.insert(line.substr(0, line.find(" "))); 135 | } 136 | } 137 | ifs.close(); 138 | 139 | ofstream ofs(argv[2], fstream::app); 140 | 141 | int count = 0; 142 | Mat img; 143 | bool running = true; 144 | dp = opendir( dir.c_str() ); 145 | while (count++ < 1000 && (dirp = readdir( dp )) && running) 146 | { 147 | filepath = dir + "/" + dirp->d_name; 148 | 149 | // If the file is a directory (or is in some way invalid) we'll skip it 150 | if (stat( filepath.c_str(), &filestat )) continue; //can't be opened... 151 | if (S_ISDIR( filestat.st_mode )) continue; //a directory 152 | if (dirp->d_name[0] == '.') continue; //hidden file! 153 | if (files_already_listed.count(filepath)>0) continue; //already did that one 154 | 155 | ofs << filepath; 156 | img = imread(filepath); 157 | Point text_place(20,40); 158 | while (true) { 159 | img.copyTo(image); 160 | if( selection.width > 0 && selection.height > 0 ) 161 | { 162 | Mat roi(image, selection); 163 | bitwise_not(roi, roi); 164 | } 165 | imshow("pic", image); 166 | int c = waitKey(10); 167 | 168 | if (c == ' ') { 169 | ofs << endl; 170 | break; 171 | } else if (c == 27) { 172 | running = false; 173 | break; 174 | } else if (c != -1) { 175 | if(selection.width != 0) 176 | ofs << " " << selection.x << "," << selection.y << "," << selection.width << "," << selection.height; 177 | ofs << " " << char_to_class(c); 178 | putText(img, char_to_class(c), text_place, CV_FONT_HERSHEY_PLAIN, 3.0, Scalar(255), 2); 179 | text_place += Point(0,40); 180 | selection = Rect(); 181 | } 182 | } 183 | } 184 | closedir(dp); 185 | 186 | 187 | for (int i=0; i 2 | #include 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | using namespace cv; 15 | using namespace std; 16 | 17 | int main (int argc, char * const argv[]) { 18 | string dir = "/Users/royshilkrot/Downloads/foodcamimages/TRAIN", filepath; 19 | DIR *dp; 20 | struct dirent *dirp; 21 | struct stat filestat; 22 | 23 | dp = opendir( dir.c_str() ); 24 | 25 | // detecting keypoints 26 | SurfFeatureDetector detector(1000); 27 | vector keypoints; 28 | 29 | // computing descriptors 30 | Ptr extractor(new SurfDescriptorExtractor());// extractor; 31 | Mat descriptors; 32 | Mat training_descriptors(1,extractor->descriptorSize(),extractor->descriptorType()); 33 | Mat img; 34 | 35 | cout << "------- build vocabulary ---------\n"; 36 | 37 | cout << "extract descriptors.."<d_name; 42 | 43 | // If the file is a directory (or is in some way invalid) we'll skip it 44 | if (stat( filepath.c_str(), &filestat )) continue; 45 | if (S_ISDIR( filestat.st_mode )) continue; 46 | 47 | img = imread(filepath); 48 | detector.detect(img, keypoints); 49 | extractor->compute(img, keypoints, descriptors); 50 | 51 | training_descriptors.push_back(descriptors); 52 | cout << "."; 53 | } 54 | cout << endl; 55 | closedir( dp ); 56 | 57 | cout << "Total descriptors: " << training_descriptors.rows << endl; 58 | 59 | BOWKMeansTrainer bowtrainer(150); //num clusters 60 | bowtrainer.add(training_descriptors); 61 | cout << "cluster BOW features" << endl; 62 | Mat vocabulary = bowtrainer.cluster(); 63 | 64 | Ptr matcher(new BruteForceMatcher >()); 65 | BOWImgDescriptorExtractor bowide(extractor,matcher); 66 | bowide.setVocabulary(vocabulary); 67 | 68 | //setup training data for classifiers 69 | map classes_training_data; classes_training_data.clear(); 70 | 71 | cout << "------- train SVMs ---------\n"; 72 | 73 | Mat response_hist; 74 | cout << "look in train data"<> filepath; 86 | Rect r; char delim; 87 | iss >> r.x >> delim; 88 | iss >> r.y >> delim; 89 | iss >> r.width >> delim; 90 | iss >> r.height; 91 | // cout << r.x << "," << r.y << endl; 92 | string class_; 93 | iss >> class_; 94 | 95 | img = imread(filepath); 96 | r &= Rect(0,0,img.cols,img.rows); 97 | if(r.width != 0) { 98 | img = img(r); //crop to interesting region 99 | } 100 | char c__[] = {(char)atoi(class_.c_str()),'\0'}; 101 | string c_(c__); 102 | cout << "."; 103 | // putText(img, c_, Point(20,20), CV_FONT_HERSHEY_PLAIN, 2.0, Scalar(255), 2); 104 | // imshow("pic",img); 105 | bowide.compute(img, keypoints, response_hist); 106 | 107 | if(classes_training_data.count(c_) == 0) { //not yet created... 108 | classes_training_data[c_].create(0,response_hist.cols,response_hist.type()); 109 | } 110 | classes_training_data[c_].push_back(response_hist); 111 | total_samples++; 112 | // waitKey(0); 113 | } while (!ifs.eof()); 114 | cout << endl; 115 | 116 | //train 1-vs-all SVMs 117 | map classes_classifiers; 118 | for (map::iterator it = classes_training_data.begin(); it != classes_training_data.end(); ++it) { 119 | string class_ = (*it).first; 120 | cout << "training class: " << class_ << ".." << endl; 121 | 122 | Mat samples(0,response_hist.cols,response_hist.type()); 123 | Mat labels(0,1,CV_32FC1); 124 | 125 | //copy class samples and label 126 | samples.push_back(classes_training_data[class_]); 127 | Mat class_label = Mat::ones(classes_training_data[class_].rows, 1, CV_32FC1); 128 | labels.push_back(class_label); 129 | 130 | //copy rest samples and label 131 | for (map::iterator it1 = classes_training_data.begin(); it1 != classes_training_data.end(); ++it1) { 132 | string not_class_ = (*it1).first; 133 | if(not_class_[0] == class_[0]) continue; 134 | samples.push_back(classes_training_data[not_class_]); 135 | class_label = Mat::zeros(classes_training_data[not_class_].rows, 1, CV_32FC1); 136 | labels.push_back(class_label); 137 | } 138 | 139 | Mat samples_32f; samples.convertTo(samples_32f, CV_32F); 140 | classes_classifiers[class_].train(samples_32f,labels); 141 | } 142 | 143 | cout << "------- test ---------\n"; 144 | 145 | //evaluate 146 | dir = "/Users/royshilkrot/Downloads/foodcamimages/TEST"; 147 | dp = opendir( dir.c_str() ); 148 | count = 0; 149 | while (count++ < 5 && (dirp = readdir( dp ))) 150 | { 151 | filepath = dir + "/" + dirp->d_name; 152 | 153 | // If the file is a directory (or is in some way invalid) we'll skip it 154 | if (stat( filepath.c_str(), &filestat )) continue; 155 | if (S_ISDIR( filestat.st_mode )) continue; 156 | if (dirp->d_name[0] == '.') continue; //hidden file! 157 | 158 | cout << "eval file " << filepath << endl; 159 | 160 | img = imread(filepath); 161 | bowide.compute(img, keypoints, response_hist); 162 | 163 | //test vs. SVMs 164 | for (map::iterator it = classes_classifiers.begin(); it != classes_classifiers.end(); ++it) { 165 | float res = (*it).second.predict(response_hist,false); 166 | cout << "class: " << (*it).first << ", response: " << res << endl; 167 | } 168 | 169 | // cout << "."; 170 | } 171 | cout << endl; 172 | closedir( dp ); 173 | 174 | 175 | cout <<"done"< _detector(new SurfFeatureDetector()); 18 | Ptr _matcher(new BruteForceMatcher >()); 19 | Ptr _extractor(new OpponentColorDescriptorExtractor(Ptr(new SurfDescriptorExtractor()))); 20 | matcher = _matcher; 21 | detector = _detector; 22 | extractor = _extractor; 23 | bowide = Ptr(new BOWImgDescriptorExtractor(extractor,matcher)); 24 | bowide->setVocabulary(vocabulary); 25 | background = imread("background.png"); 26 | } 27 | 28 | void FoodcamPredictor::initColors() { 29 | int ccount = 0; 30 | for (map::iterator it = classes_classifiers.begin(); it != classes_classifiers.end(); ++it) { 31 | classes_colors[(*it).first] = Scalar((float)(ccount++)/(float)(classes_classifiers.size())*180.0f,255,255); 32 | if(debug) cout << "class " << (*it).first << " color " << classes_colors[(*it).first].val[0] << endl; 33 | } 34 | } 35 | 36 | void FoodcamPredictor::initSVMs() { 37 | string dir, filepath; 38 | DIR *dp; 39 | struct dirent *dirp; 40 | struct stat filestat; 41 | 42 | if(debug) cout << "load SVM classifiers" << endl; 43 | dir = "."; 44 | dp = opendir( dir.c_str() ); 45 | 46 | while ((dirp = readdir( dp ))) 47 | { 48 | filepath = dir + "/" + dirp->d_name; 49 | 50 | // If the file is a directory (or is in some way invalid) we'll skip it 51 | if (stat( filepath.c_str(), &filestat )) continue; 52 | if (S_ISDIR( filestat.st_mode )) continue; 53 | if (filepath.find("SVM_classifier_with_color") != string::npos) 54 | { 55 | string class_ = filepath.substr(filepath.rfind('_')+1,filepath.rfind('.')-filepath.rfind('_')-1); 56 | if (debug) cout << "load " << filepath << ", class: " << class_ << endl; 57 | classes_classifiers.insert(pair(class_,CvSVM())); 58 | classes_classifiers[class_].load(filepath.c_str()); 59 | } 60 | } 61 | closedir(dp); 62 | } 63 | 64 | void FoodcamPredictor::initVocabulary() { 65 | if (debug) cout << "read vocabulary form file"<> vocabulary; 68 | fs.release(); 69 | } 70 | 71 | void FoodcamPredictor::evaluateOneImage(Mat& __img, vector& out_classes) { 72 | Mat diff = (__img - background), diff_8UC1; 73 | 74 | cvtColor(diff, diff_8UC1, CV_BGR2GRAY); 75 | // imshow("img no back", diff_8UC1); 76 | Mat fg_mask = (diff_8UC1 > 5); 77 | GaussianBlur(fg_mask, fg_mask, Size(11,11), 5.0); 78 | fg_mask = fg_mask > 50; 79 | 80 | // { 81 | // Mat _out; __img.copyTo(_out, fg_mask); 82 | // imshow("foregroung", _out); 83 | // imshow("to scan",__img); 84 | // waitKey(0); 85 | // } 86 | 87 | Rect crop_rect(0,100,640,480-100); 88 | __img = __img(crop_rect); //crop off top section 89 | fg_mask = fg_mask(crop_rect); 90 | 91 | //_img.create(__img.size(), __img.type()); 92 | // cvtColor(__img, _img, CV_BGR2GRAY); 93 | // equalizeHist(__img, _img); 94 | Mat copy; cvtColor(__img, copy, CV_BGR2HSV); 95 | 96 | vector check_points; 97 | //Sliding window approach.. (creating a vector here to ease the OMP parallel for-loop) 98 | int winsize = 200; 99 | map > found_classes; 100 | for (int x=0; x<__img.cols; x+=winsize/4) { 101 | for (int y=0; y<__img.rows; y+=winsize/4) { 102 | if (fg_mask.at(y,x) == 0) { 103 | continue; 104 | } 105 | check_points.push_back(Point(x,y)); 106 | } 107 | } 108 | 109 | if (debug) cout << "to check: " << check_points.size() << " points"< keypoints; 122 | detector->detect(img,keypoints); 123 | // vector > pointIdxsOfClusters; 124 | bowide->compute(img, keypoints, response_hist); //, &pointIdxsOfClusters); 125 | if (response_hist.cols == 0 || response_hist.rows == 0) { 126 | continue; 127 | } 128 | 129 | // drawKeypoints(img, keypoints, img, Scalar(0,0,255)); 130 | // for (int i = 0; i < pointIdxsOfClusters.size(); i++) { 131 | // if(pointIdxsOfClusters[i].size()>0) { 132 | // Scalar clr(i/1000.0*255.0,0,0); 133 | // for (int j = 0; j < pointIdxsOfClusters[i].size(); j++) { 134 | // circle(img, keypoints[pointIdxsOfClusters[i][j]].pt, 1, clr, 2); 135 | // } 136 | // } 137 | // } 138 | // imshow("pic",img); 139 | 140 | //test vs. SVMs 141 | try { 142 | float minf = FLT_MAX; string minclass; 143 | for (map::iterator it = classes_classifiers.begin(); it != classes_classifiers.end(); ++it) { 144 | float res = (*it).second.predict(response_hist,true); 145 | if ((*it).first == "misc" && res > 0.9) { 146 | continue; 147 | } 148 | if(res > 1.0) continue; 149 | if (res < minf) { 150 | minf = res; 151 | minclass = (*it).first; 152 | } 153 | } 154 | // if (debug) cout << "best class: " << minclass << " ("< [0.0,1.0] 158 | Scalar color_(classes_colors[minclass].val[0], classes_colors[minclass].val[1], classes_colors[minclass].val[2] * dim); 159 | 160 | #pragma omp critical 161 | { 162 | putText(copy, minclass.substr(0, 4), Point(x-35,y+10), CV_FONT_HERSHEY_PLAIN, 2.0, Scalar(0,0,255), 2); 163 | circle(seg, check_points[i], winsize/5, color_, CV_FILLED); 164 | found_classes[minclass].first++; 165 | found_classes[minclass].second += minf; 166 | } 167 | } 168 | catch (cv::Exception) { 169 | continue; 170 | } 171 | } 172 | 173 | if (debug) cout << endl << "found classes: "; 174 | float max_class_f = FLT_MIN, max_class_f1 = FLT_MIN; string max_class, max_class1; 175 | vector scores; 176 | for (map >::iterator it=found_classes.begin(); it != found_classes.end(); ++it) { 177 | float score = sqrtf((float)((*it).second.first) * (*it).second.second); 178 | if (score > 1e+10) { 179 | continue; //an impossible score 180 | } 181 | scores.push_back(score); 182 | if (debug) cout << (*it).first << "(" << score << "),"; //<< (*it).second.first << "," << (*it).second.second / (float)(*it).second.first << "), "; 183 | if(score > max_class_f) { //1st place thrown off 184 | max_class_f1 = max_class_f; 185 | max_class1 = max_class; 186 | 187 | max_class_f = score; 188 | max_class = (*it).first; 189 | } else if (score > max_class_f1) { //2nd place thrown off 190 | max_class_f1 = score; 191 | max_class1 = (*it).first; 192 | } 193 | } 194 | if (debug) cout << endl; 195 | 196 | normalizeClassname(max_class); 197 | normalizeClassname(max_class1); 198 | 199 | Scalar mean_,stddev_; 200 | // meanStdDev(Mat(scores), mean_, stddev_); 201 | out_classes.clear(); 202 | out_classes.push_back(max_class); 203 | if(max_class_f - max_class_f1 < 10) { 204 | //Forget about it: variance is low (~10), so result is undecicive, we should take both max-classes. 205 | out_classes.push_back(max_class1); 206 | } 207 | 208 | if (debug) cout << "chosen class: " << max_class << ", (" << max_class1 << "?)" << endl; 209 | } -------------------------------------------------------------------------------- /test.txt: -------------------------------------------------------------------------------- 1 | foodcamimages/TEST/20101201191626.jpg pizza 2 | foodcamimages/TEST/20101202131934.jpg italian 3 | foodcamimages/TEST/20101202144812.jpg italian salad 4 | foodcamimages/TEST/20101202232118.jpg pizza 5 | foodcamimages/TEST/20101202232232.jpg pizza 6 | foodcamimages/TEST/20101203001044.jpg pizza 7 | foodcamimages/TEST/20101203201514.jpg misc 8 | foodcamimages/TEST/20101204162533.jpg misc 9 | foodcamimages/TEST/20101204192707.jpg pizza 10 | foodcamimages/TEST/20101206134855.jpg cookies 11 | foodcamimages/TEST/20101206174224.jpg mexican cookies 12 | foodcamimages/TEST/20101206174950.jpg misc 13 | foodcamimages/TEST/20101207100304.jpg misc 14 | foodcamimages/TEST/20101208192815.jpg pizza 15 | foodcamimages/TEST/20101208193952.jpg pizza italian 16 | foodcamimages/TEST/20101208195514.jpg salad italian 17 | foodcamimages/TEST/20101208220938.jpg pizza salad 18 | foodcamimages/TEST/20101209134430.jpg salad italian 19 | foodcamimages/TEST/20101209142828.jpg salad italian 20 | foodcamimages/TEST/20101209161143.jpg fruit_veggie salad 21 | foodcamimages/TEST/20101209162444.jpg cookies salad 22 | foodcamimages/TEST/20101211173046.jpg misc 23 | foodcamimages/TEST/20101213000657.jpg misc 24 | foodcamimages/TEST/20101213143803.jpg indian 25 | foodcamimages/TEST/20101213163832.jpg cookies indian 26 | foodcamimages/TEST/20101213181057.jpg cookies salad 27 | foodcamimages/TEST/20101213190234.jpg salad cookies fruit_veggie 28 | foodcamimages/TEST/20101213195227.jpg pizza salad 29 | foodcamimages/TEST/20101213201603.jpg pizza 30 | foodcamimages/TEST/20101214120410.jpg sandwiches 31 | foodcamimages/TEST/20101214131707.jpg italian fruit_veggie indian 32 | foodcamimages/TEST/20101215133400.jpg pizza 33 | foodcamimages/TEST/20101215142848.jpg italian 34 | foodcamimages/TEST/20101215144728.jpg italian salad 35 | foodcamimages/TEST/20101215150354.jpg cookies salad 36 | foodcamimages/TEST/20101215171131.jpg sandwiches salad 37 | foodcamimages/TEST/20101216175058.jpg sandwiches salad 38 | foodcamimages/TEST/20101217160315.jpg indian 39 | foodcamimages/TEST/20101220172039.jpg misc 40 | foodcamimages/TEST/20101221170949.jpg fruit_veggie italian 41 | foodcamimages/TEST/20110104172709.jpg cookies 42 | foodcamimages/TEST/20110105121916.jpg cookies 43 | foodcamimages/TEST/20110105142138.jpg fruit_veggie cookies salad 44 | foodcamimages/TEST/20110106133635.jpg misc 45 | foodcamimages/TEST/20110107133817.jpg sandwiches salad 46 | foodcamimages/TEST/20110110141530.jpg misc 47 | foodcamimages/TEST/20110110143701.jpg salad sandwiches 48 | foodcamimages/TEST/20110110164830.jpg cookies 49 | foodcamimages/TEST/20110111161252.jpg salad 50 | foodcamimages/TEST/20110113132300.jpg sandwiches italian salad 51 | foodcamimages/TEST/20110113143129.jpg indian 52 | foodcamimages/TEST/20110113165005.jpg italian pizza 53 | foodcamimages/TEST/20110113185642.jpg italian salad 54 | foodcamimages/TEST/20110114133510.jpg salad sandwiches 55 | foodcamimages/TEST/20110114142251.jpg salad sandwiches 56 | foodcamimages/TEST/20110117194246.jpg cookies fruit_veggie 57 | foodcamimages/TEST/20110117194309.jpg cookies fruit_veggie 58 | foodcamimages/TEST/20110118000439.jpg pizza 59 | foodcamimages/TEST/20110118000501.jpg pizza 60 | foodcamimages/TEST/20110118135214.jpg wraps salad 61 | foodcamimages/TEST/20110119132918.jpg misc 62 | foodcamimages/TEST/20110119165330.jpg sandwiches 63 | foodcamimages/TEST/20110120121858.jpg misc 64 | foodcamimages/TEST/20110120121905.jpg misc 65 | foodcamimages/TEST/20110120121905_1.jpg misc 66 | foodcamimages/TEST/20110120121905_2.jpg misc 67 | foodcamimages/TEST/20110120121905_3.jpg misc 68 | foodcamimages/TEST/20110120121905_4.jpg misc 69 | foodcamimages/TEST/20110120135309.jpg indian 70 | foodcamimages/TEST/20110120162356.jpg cookies 71 | foodcamimages/TEST/20110123165854.jpg sandwiches indian 72 | foodcamimages/TEST/20110124201407.jpg pizza 73 | foodcamimages/TEST/20110125131838.jpg italian 74 | foodcamimages/TEST/20110125132218.jpg italian 75 | foodcamimages/TEST/20110125145559.jpg italian 76 | foodcamimages/TEST/20110125201949.jpg misc 77 | foodcamimages/TEST/20110126002502.jpg misc 78 | foodcamimages/TEST/20110126160957.jpg salad sandwiches 79 | foodcamimages/TEST/20110127215142.jpg misc 80 | foodcamimages/TEST/20110128104435.jpg fruit_veggie sandwiches 81 | foodcamimages/TEST/20110128145636.jpg indian 82 | foodcamimages/TEST/20110129134228.jpg sandwiches wraps 83 | foodcamimages/TEST/20110131135001.jpg pizza 84 | foodcamimages/TEST/20110203164745.jpg pizza 85 | foodcamimages/TEST/20110203201616.jpg fruit_veggie 86 | foodcamimages/TEST/20110204190141.jpg indian 87 | foodcamimages/TEST/20110205141811.jpg wraps cookies 88 | foodcamimages/TEST/20110205224824.jpg salad italian 89 | foodcamimages/TEST/20110207133441.jpg italian 90 | foodcamimages/TEST/20110208150918.jpg sandwiches fruit_veggie 91 | foodcamimages/TEST/20110209104438.jpg misc 92 | foodcamimages/TEST/20110209124907.jpg misc 93 | foodcamimages/TEST/20110209145915.jpg misc 94 | foodcamimages/TEST/20110209195730.jpg salad italian 95 | foodcamimages/TEST/20110210165559.jpg pizza 96 | foodcamimages/TEST/20110210180749.jpg cookies 97 | foodcamimages/TEST/20110210190148.jpg fruit_veggie cookies 98 | foodcamimages/TEST/20110211154808.jpg salad 99 | foodcamimages/TEST/20110214132342.jpg italian 100 | foodcamimages/TEST/20110214151626.jpg sandwiches salad 101 | foodcamimages/TEST/20110215032944.jpg misc 102 | foodcamimages/TEST/20110215131713.jpg sandwiches 103 | foodcamimages/TEST/20110216130808.jpg mexican 104 | foodcamimages/TEST/20110216133022.jpg mexican sandwiches italian 105 | foodcamimages/TEST/20110216144125.jpg salad indian 106 | foodcamimages/TEST/20110216190957.jpg italian indian 107 | foodcamimages/TEST/20110216195635.jpg pizza italian 108 | foodcamimages/TEST/20110217143254.jpg italian 109 | foodcamimages/TEST/20110218175054.jpg misc 110 | foodcamimages/TEST/20110219153950.jpg fruit_veggie salad 111 | foodcamimages/TEST/20110219154748.jpg fruit_veggie 112 | foodcamimages/TEST/20110222130204.jpg wraps 113 | foodcamimages/TEST/20110223130812.jpg cookies 114 | foodcamimages/TEST/20110223133028.jpg misc 115 | foodcamimages/TEST/20110223150609.jpg italian 116 | foodcamimages/TEST/20110223205838.jpg misc 117 | foodcamimages/TEST/20110224132749.jpg cookies 118 | foodcamimages/TEST/20110224141617.jpg sandwiches italian 119 | foodcamimages/TEST/20110224152917.jpg fruit_veggie cookies 120 | foodcamimages/TEST/20110224153531.jpg fruit_veggie cookies 121 | foodcamimages/TEST/20110224162448.jpg misc 122 | foodcamimages/TEST/20110224170150.jpg fruit_veggie 123 | foodcamimages/TEST/20110225132520.jpg wraps 124 | foodcamimages/TEST/20110228121017.jpg cookies 125 | foodcamimages/TEST/20110228212450.jpg pizza 126 | foodcamimages/TEST/20110301131022.jpg sandwiches 127 | foodcamimages/TEST/20110301195412.jpg italian salad 128 | foodcamimages/TEST/20110302132913.jpg wraps 129 | foodcamimages/TEST/20110302141436.jpg misc 130 | foodcamimages/TEST/20110302171920.jpg pizza 131 | foodcamimages/TEST/20110303103242.jpg cookies 132 | foodcamimages/TEST/20110303104315.jpg cookies 133 | foodcamimages/TEST/20110303164600.jpg salad italian 134 | foodcamimages/TEST/20110304130539.jpg pizza 135 | foodcamimages/TEST/20110304132909.jpg sandwiches cookies 136 | foodcamimages/TEST/20110304140057.jpg salad italian 137 | foodcamimages/TEST/20110304141408.jpg salad italian 138 | foodcamimages/TEST/20110304180255.jpg salad indian 139 | foodcamimages/TEST/20110304190305.jpg indian italian 140 | foodcamimages/TEST/20110304200213.jpg italian 141 | foodcamimages/TEST/20110305134113.jpg wraps 142 | foodcamimages/TEST/20110305144155.jpg misc 143 | foodcamimages/TEST/20110305174316.jpg pizza 144 | foodcamimages/TEST/20110306104842.jpg cookies 145 | foodcamimages/TEST/20110306104843.jpg cookies 146 | foodcamimages/TEST/20110306164945.jpg 147 | foodcamimages/TEST/20110307132342.jpg pizza 148 | foodcamimages/TEST/20110307140136.jpg sandwiches 149 | foodcamimages/TEST/20110307142356.jpg salad italian 150 | foodcamimages/TEST/20110307142356_1.jpg salad italian 151 | foodcamimages/TEST/20110307182454.jpg salad indian 152 | foodcamimages/TEST/20110307182526.jpg indian 153 | foodcamimages/TEST/20110307192510.jpg indian italian 154 | foodcamimages/TEST/20110307212226.jpg indian italian 155 | foodcamimages/TEST/20110307212552.jpg indian italian 156 | foodcamimages/TEST/20110308112736.jpg salad cookies 157 | foodcamimages/TEST/20110308125754.jpg salad 158 | foodcamimages/TEST/20110308151315.jpg italian wraps 159 | foodcamimages/TEST/20110308190448.jpg pizza 160 | foodcamimages/TEST/20110309131409.jpg sandwiches wraps 161 | foodcamimages/TEST/20110309144443.jpg salad italian 162 | foodcamimages/TEST/20110309184634.jpg indian 163 | foodcamimages/TEST/20110310114351.jpg cookies 164 | foodcamimages/TEST/20110310162744.jpg fruit_veggie cookies 165 | foodcamimages/TEST/20110310191735.jpg sandwiches salad 166 | foodcamimages/TEST/20110311115316.jpg cookies 167 | foodcamimages/TEST/20110311121147.jpg fruit_veggie cookies 168 | foodcamimages/TEST/20110311191645.jpg misc 169 | foodcamimages/TEST/20110314112416.jpg pizza 170 | foodcamimages/TEST/20110314124732.jpg pizza 171 | foodcamimages/TEST/20110314140324.jpg sandwiches salad 172 | foodcamimages/TEST/20110314180430.jpg cookies 173 | foodcamimages/TEST/20110315135536.jpg sandwiches wraps 174 | foodcamimages/TEST/20110316145834.jpg fruit_veggie 175 | foodcamimages/TEST/20110316211700.jpg misc 176 | foodcamimages/TEST/20110316211742.jpg pizza 177 | foodcamimages/TEST/20110316212206.jpg indian 178 | foodcamimages/TEST/20110317015913.jpg italian 179 | foodcamimages/TEST/20110317015915.jpg italian 180 | foodcamimages/TEST/20110317020300.jpg italian 181 | foodcamimages/TEST/20110317140140.jpg wraps 182 | foodcamimages/TEST/20110317143923.jpg misc 183 | foodcamimages/TEST/20110317221334.jpg misc 184 | foodcamimages/TEST/20110318154134.jpg italian 185 | foodcamimages/TEST/20110318200954.jpg italian salad 186 | foodcamimages/TEST/20110319151801.jpg italian salad cookies 187 | foodcamimages/TEST/20110319171841.jpg misc 188 | foodcamimages/TEST/20110323151650.jpg fruit_veggie wraps cookies 189 | foodcamimages/TEST/20110323193644.jpg salad 190 | foodcamimages/TEST/20110325101558.jpg misc 191 | foodcamimages/TEST/20110329151024.jpg fruit_veggie 192 | foodcamimages/TEST/20110329155324.jpg italian 193 | foodcamimages/TEST/20110330154002.jpg salad 194 | foodcamimages/TEST/20110330192432.jpg indian 195 | foodcamimages/TEST/20110331213447.jpg fruit_veggie 196 | foodcamimages/TEST/20110331222116.jpg misc 197 | foodcamimages/TEST/20110401133131.jpg cookies 198 | foodcamimages/TEST/20110401162742.jpg misc 199 | foodcamimages/TEST/20110401184238.jpg italian cookies 200 | foodcamimages/TEST/20110401212726.jpg indian 201 | foodcamimages/TEST/20110401213153.jpg indian 202 | foodcamimages/TEST/20110405153615.jpg misc 203 | foodcamimages/TEST/20110405164226.jpg misc 204 | foodcamimages/TEST/20110406141352.jpg italian 205 | foodcamimages/TEST/20110406195333.jpg misc 206 | foodcamimages/TEST/20110406200941.jpg sandwiches 207 | foodcamimages/TEST/20110407162043.jpg misc 208 | foodcamimages/TEST/20110411132147.jpg sandwiches wraps 209 | foodcamimages/TEST/20110411132433.jpg wraps 210 | foodcamimages/TEST/20110411185814.jpg misc 211 | foodcamimages/TEST/20110412025349.jpg misc 212 | foodcamimages/TEST/20110412133826.jpg italian salad fruit_veggie 213 | foodcamimages/TEST/20110412150619.jpg misc 214 | foodcamimages/TEST/20110413145603.jpg sandwiches 215 | foodcamimages/TEST/20110414132208.jpg misc 216 | foodcamimages/TEST/20110414143007.jpg sandwiches 217 | foodcamimages/TEST/20110414143852.jpg sandwiches 218 | foodcamimages/TEST/20110415191425.jpg salad fruit_veggie 219 | foodcamimages/TEST/20110418143738.jpg misc 220 | foodcamimages/TEST/20110419153548.jpg italian 221 | foodcamimages/TEST/20110420152838.jpg italian 222 | foodcamimages/TEST/20110420164703.jpg italian fruit_veggie 223 | foodcamimages/TEST/20110423161349.jpg cookies 224 | foodcamimages/TEST/20110424170359.jpg misc 225 | foodcamimages/TEST/20110425124752.jpg cookies fruit_veggie 226 | foodcamimages/TEST/20110425140213.jpg cookies 227 | foodcamimages/TEST/20110425154629.jpg salad sandwiches 228 | foodcamimages/TEST/20110426145212.jpg cookies 229 | foodcamimages/TEST/20110426171357.jpg fruit_veggie 230 | foodcamimages/TEST/20110427194632.jpg indian 231 | foodcamimages/TEST/20110502134010.jpg fruit_veggie 232 | foodcamimages/TEST/20110502175537.jpg fruit_veggie cookies 233 | foodcamimages/TEST/20110502232401.jpg pizza 234 | foodcamimages/TEST/20110503144202.jpg pizza salad 235 | foodcamimages/TEST/20110503144514.jpg pizza salad 236 | foodcamimages/TEST/20110503154035.jpg indian 237 | foodcamimages/TEST/20110504121439.jpg fruit_veggie cookies 238 | foodcamimages/TEST/20110505135159.jpg misc 239 | foodcamimages/TEST/20110505152538.jpg sandwiches 240 | foodcamimages/TEST/20110505202902.jpg fruit_veggie cookies 241 | foodcamimages/TEST/20110506134626.jpg italian 242 | foodcamimages/TEST/20110506151538.jpg italian 243 | foodcamimages/TEST/20110506151759.jpg italian 244 | foodcamimages/TEST/20110506172009.jpg italian 245 | foodcamimages/TEST/20110506183814.jpg misc 246 | foodcamimages/TEST/20110506191258.jpg misc 247 | foodcamimages/TEST/20110507220447.jpg fruit_veggie 248 | foodcamimages/TEST/20110509124451.jpg fruit_veggie cookies 249 | foodcamimages/TEST/20110509180146.jpg fruit_veggie 250 | foodcamimages/TEST/20110509191550.jpg italian cookies 251 | foodcamimages/TEST/20110509203238.jpg pizza 252 | foodcamimages/TEST/20110509220906.jpg pizza 253 | foodcamimages/TEST/20110509230842.jpg misc 254 | foodcamimages/TEST/20110509231634.jpg misc 255 | foodcamimages/TEST/20110509234550.jpg pizza 256 | foodcamimages/TEST/20110510150450.jpg salad 257 | foodcamimages/TEST/20110510161245.jpg sandwiches salad pizza 258 | foodcamimages/TEST/20110511011008.jpg misc 259 | foodcamimages/TEST/20110511013632.jpg indian 260 | foodcamimages/TEST/20110511181337.jpg italian 261 | foodcamimages/TEST/20110511233105.jpg misc 262 | foodcamimages/TEST/20110513155818.jpg salad 263 | foodcamimages/TEST/20110516170642.jpg sandwiches 264 | foodcamimages/TEST/20110516194501.jpg indian 265 | foodcamimages/TEST/20110517074627.jpg misc 266 | foodcamimages/TEST/20110517154609.jpg salad italian 267 | foodcamimages/TEST/20110517195357.jpg fruit_veggie 268 | foodcamimages/TEST/20110517200615.jpg fruit_veggie 269 | foodcamimages/TEST/20110518184336.jpg sandwiches 270 | foodcamimages/TEST/20110518191632.jpg misc 271 | foodcamimages/TEST/20110518205157.jpg indian 272 | foodcamimages/TEST/20110518231908.jpg sandwiches 273 | foodcamimages/TEST/20110519142705.jpg italian 274 | foodcamimages/TEST/20110519181106.jpg misc 275 | foodcamimages/TEST/20110519181310.jpg misc 276 | foodcamimages/TEST/20110520225112.jpg indian 277 | foodcamimages/TEST/20110521183601.jpg pizza 278 | foodcamimages/TEST/20110523152839.jpg misc 279 | foodcamimages/TEST/20110523211025.jpg pizza 280 | foodcamimages/TEST/20110524154457.jpg misc 281 | foodcamimages/TEST/20110524160707.jpg misc 282 | foodcamimages/TEST/20110525161751.jpg italian salad 283 | foodcamimages/TEST/20110526160335.jpg italian 284 | foodcamimages/TEST/20110526164605.jpg italian sandwiches 285 | foodcamimages/TEST/20110526173526.jpg pizza 286 | foodcamimages/TEST/20110527151004.jpg misc 287 | foodcamimages/TEST/20110527151359.jpg cookies italian 288 | foodcamimages/TEST/20110527235738.jpg cookies 289 | foodcamimages/TEST/20110531131504.jpg sandwiches 290 | foodcamimages/TEST/20110531132941.jpg cookies 291 | foodcamimages/TEST/20110531143700.jpg pizza 292 | foodcamimages/TEST/20110601032934.jpg sandwiches 293 | foodcamimages/TEST/20110601034434.jpg cookies 294 | foodcamimages/TEST/20110601044440.jpg pizza 295 | foodcamimages/TEST/20110601221708.jpg misc 296 | foodcamimages/TEST/20110601222051.jpg salad italian 297 | foodcamimages/TEST/20110602165554.jpg italian 298 | foodcamimages/TEST/20110602185549.jpg italian 299 | foodcamimages/TEST/20110602215949.jpg pizza 300 | foodcamimages/TEST/20110605191734.jpg sandwiches 301 | foodcamimages/TEST/20110605193839.jpg cookies 302 | foodcamimages/TEST/20110605203836.jpg pizza 303 | foodcamimages/TEST/20110606152428.jpg salad sandwiches 304 | foodcamimages/TEST/20110607142552.jpg sandwiches 305 | foodcamimages/TEST/20110607145418.jpg salad 306 | foodcamimages/TEST/20110607182304.jpg italian salad sandwiches 307 | foodcamimages/TEST/20110607185537.jpg cookies fruit_veggie 308 | foodcamimages/TEST/20110608010058.jpg pizza 309 | foodcamimages/TEST/20110608112454.jpg italian 310 | foodcamimages/TEST/20110608150406.jpg pizza 311 | foodcamimages/TEST/20110608150513.jpg wraps 312 | foodcamimages/TEST/20110608151120.jpg wraps indian 313 | foodcamimages/TEST/20110608170943.jpg salad 314 | foodcamimages/TEST/20110608192622.jpg fruit_veggie salad 315 | foodcamimages/TEST/20110608194333.jpg fruit_veggie salad 316 | foodcamimages/TEST/20110609142026.jpg fruit_veggie 317 | foodcamimages/TEST/20110609170603.jpg salad 318 | foodcamimages/TEST/20110609225610.jpg misc 319 | foodcamimages/TEST/20110609234258.jpg pizza 320 | foodcamimages/TEST/20110613155413.jpg fruit_veggie cookies 321 | -------------------------------------------------------------------------------- /test_one_class.txt: -------------------------------------------------------------------------------- 1 | foodcamimages/TEST/20101201191626.jpg 0,0,0,0 pizza 2 | foodcamimages/TEST/20101202131934.jpg 0,0,0,0 misc 3 | foodcamimages/TEST/20101202144812.jpg 0,0,0,0 misc 4 | foodcamimages/TEST/20101202232118.jpg 0,0,0,0 pizza 5 | foodcamimages/TEST/20101202232232.jpg 0,0,0,0 pizza 6 | foodcamimages/TEST/20101203001044.jpg 0,0,0,0 pizza 7 | foodcamimages/TEST/20101203201514.jpg 0,0,0,0 misc 8 | foodcamimages/TEST/20101204162533.jpg 0,0,0,0 misc 9 | foodcamimages/TEST/20101204192707.jpg 0,0,0,0 pizza 10 | foodcamimages/TEST/20101206134855.jpg 0,0,0,0 cookies 11 | foodcamimages/TEST/20101206174224.jpg 0,0,0,0 mexican 12 | foodcamimages/TEST/20101206174950.jpg 0,0,0,0 misc 13 | foodcamimages/TEST/20101207100304.jpg 0,0,0,0 misc 14 | foodcamimages/TEST/20101208192815.jpg 0,0,0,0 pizza 15 | foodcamimages/TEST/20101208193952.jpg 0,0,0,0 italian 16 | foodcamimages/TEST/20101208195514.jpg 0,0,0,0 salad 17 | foodcamimages/TEST/20101208220938.jpg 0,0,0,0 salad 18 | foodcamimages/TEST/20101209134430.jpg 0,0,0,0 italian 19 | foodcamimages/TEST/20101209142828.jpg 0,0,0,0 misc 20 | foodcamimages/TEST/20101209161143.jpg 0,0,0,0 fruit_veggie 21 | foodcamimages/TEST/20101209162444.jpg 0,0,0,0 cookies 22 | foodcamimages/TEST/20101211173046.jpg 0,0,0,0 misc 23 | foodcamimages/TEST/20101213000657.jpg 0,0,0,0 misc 24 | foodcamimages/TEST/20101213143803.jpg 0,0,0,0 indian 25 | foodcamimages/TEST/20101213163832.jpg 0,0,0,0 cookies 26 | foodcamimages/TEST/20101213181057.jpg 0,0,0,0 cookies 27 | foodcamimages/TEST/20101213190234.jpg 0,0,0,0 salad 28 | foodcamimages/TEST/20101213195227.jpg 0,0,0,0 pizza 29 | foodcamimages/TEST/20101213201603.jpg 0,0,0,0 pizza 30 | foodcamimages/TEST/20101214120410.jpg 0,0,0,0 sandwiches 31 | foodcamimages/TEST/20101214131707.jpg 0,0,0,0 italian 32 | foodcamimages/TEST/20101215133400.jpg 0,0,0,0 pizza 33 | foodcamimages/TEST/20101215142848.jpg 0,0,0,0 italian 34 | foodcamimages/TEST/20101215144728.jpg 0,0,0,0 salad 35 | foodcamimages/TEST/20101215150354.jpg 0,0,0,0 cookies 36 | foodcamimages/TEST/20101215171131.jpg 0,0,0,0 sandwiches 37 | foodcamimages/TEST/20101216175058.jpg 0,0,0,0 sandwiches 38 | foodcamimages/TEST/20101217160315.jpg 0,0,0,0 misc 39 | foodcamimages/TEST/20101220172039.jpg 0,0,0,0 misc 40 | foodcamimages/TEST/20101221170949.jpg 0,0,0,0 misc 41 | foodcamimages/TEST/20110104172709.jpg 0,0,0,0 cookies 42 | foodcamimages/TEST/20110105121916.jpg 0,0,0,0 misc 43 | foodcamimages/TEST/20110105142138.jpg 0,0,0,0 fruit_veggie 44 | foodcamimages/TEST/20110106133635.jpg 0,0,0,0 misc 45 | foodcamimages/TEST/20110107133817.jpg 0,0,0,0 salad 46 | foodcamimages/TEST/20110110141530.jpg 0,0,0,0 misc 47 | foodcamimages/TEST/20110110143701.jpg 0,0,0,0 salad 48 | foodcamimages/TEST/20110110164830.jpg 0,0,0,0 cookies 49 | foodcamimages/TEST/20110111161252.jpg 0,0,0,0 salad 50 | foodcamimages/TEST/20110113132300.jpg 0,0,0,0 sandwiches 51 | foodcamimages/TEST/20110113143129.jpg 0,0,0,0 indian 52 | foodcamimages/TEST/20110113165005.jpg 0,0,0,0 pizza 53 | foodcamimages/TEST/20110113185642.jpg 0,0,0,0 salad 54 | foodcamimages/TEST/20110114133510.jpg 0,0,0,0 sandwiches 55 | foodcamimages/TEST/20110114142251.jpg 0,0,0,0 salad 56 | foodcamimages/TEST/20110117194246.jpg 0,0,0,0 cookies 57 | foodcamimages/TEST/20110117194309.jpg 0,0,0,0 cookies 58 | foodcamimages/TEST/20110118000439.jpg 0,0,0,0 pizza 59 | foodcamimages/TEST/20110118000501.jpg 0,0,0,0 pizza 60 | foodcamimages/TEST/20110118135214.jpg 0,0,0,0 wraps 61 | foodcamimages/TEST/20110119132918.jpg 0,0,0,0 misc 62 | foodcamimages/TEST/20110119165330.jpg 0,0,0,0 sandwiches 63 | foodcamimages/TEST/20110120121858.jpg 0,0,0,0 misc 64 | foodcamimages/TEST/20110120121905.jpg 0,0,0,0 misc 65 | foodcamimages/TEST/20110120121905_1.jpg 0,0,0,0 misc 66 | foodcamimages/TEST/20110120121905_2.jpg 0,0,0,0 misc 67 | foodcamimages/TEST/20110120121905_3.jpg 0,0,0,0 misc 68 | foodcamimages/TEST/20110120121905_4.jpg 0,0,0,0 misc 69 | foodcamimages/TEST/20110120135309.jpg 0,0,0,0 indian 70 | foodcamimages/TEST/20110120162356.jpg 0,0,0,0 cookies 71 | foodcamimages/TEST/20110123165854.jpg 0,0,0,0 sandwiches 72 | foodcamimages/TEST/20110124201407.jpg 0,0,0,0 pizza 73 | foodcamimages/TEST/20110125131838.jpg 0,0,0,0 misc 74 | foodcamimages/TEST/20110125132218.jpg 0,0,0,0 misc 75 | foodcamimages/TEST/20110125145559.jpg 0,0,0,0 misc 76 | foodcamimages/TEST/20110125201949.jpg 0,0,0,0 misc 77 | foodcamimages/TEST/20110126002502.jpg 0,0,0,0 misc 78 | foodcamimages/TEST/20110126160957.jpg 0,0,0,0 salad 79 | foodcamimages/TEST/20110127215142.jpg 0,0,0,0 misc 80 | foodcamimages/TEST/20110128104435.jpg 0,0,0,0 fruit_veggie 81 | foodcamimages/TEST/20110128145636.jpg 0,0,0,0 indian 82 | foodcamimages/TEST/20110129134228.jpg 0,0,0,0 salad 83 | foodcamimages/TEST/20110131135001.jpg 0,0,0,0 pizza 84 | foodcamimages/TEST/20110203164745.jpg 0,0,0,0 pizza 85 | foodcamimages/TEST/20110203201616.jpg 0,0,0,0 fruit_veggie 86 | foodcamimages/TEST/20110204190141.jpg 0,0,0,0 indian 87 | foodcamimages/TEST/20110205141811.jpg 0,0,0,0 wraps 88 | foodcamimages/TEST/20110205224824.jpg 0,0,0,0 salad 89 | foodcamimages/TEST/20110207133441.jpg 0,0,0,0 misc 90 | foodcamimages/TEST/20110208150918.jpg 0,0,0,0 salad 91 | foodcamimages/TEST/20110209104438.jpg 0,0,0,0 misc 92 | foodcamimages/TEST/20110209124907.jpg 0,0,0,0 misc 93 | foodcamimages/TEST/20110209145915.jpg 0,0,0,0 misc 94 | foodcamimages/TEST/20110209195730.jpg 0,0,0,0 misc 95 | foodcamimages/TEST/20110210165559.jpg 0,0,0,0 pizza 96 | foodcamimages/TEST/20110210180749.jpg 0,0,0,0 cookies 97 | foodcamimages/TEST/20110210190148.jpg 0,0,0,0 fruit_veggie 98 | foodcamimages/TEST/20110211154808.jpg 0,0,0,0 salad 99 | foodcamimages/TEST/20110214132342.jpg 0,0,0,0 misc 100 | foodcamimages/TEST/20110214151626.jpg 0,0,0,0 sandwiches 101 | foodcamimages/TEST/20110215032944.jpg 0,0,0,0 misc 102 | foodcamimages/TEST/20110215131713.jpg 0,0,0,0 sandwiches 103 | foodcamimages/TEST/20110216130808.jpg 0,0,0,0 mexican 104 | foodcamimages/TEST/20110216133022.jpg 0,0,0,0 mexican 105 | foodcamimages/TEST/20110216144125.jpg 0,0,0,0 indian 106 | foodcamimages/TEST/20110216190957.jpg 0,0,0,0 indian 107 | foodcamimages/TEST/20110216195635.jpg 0,0,0,0 pizza 108 | foodcamimages/TEST/20110217143254.jpg 0,0,0,0 misc 109 | foodcamimages/TEST/20110218175054.jpg 0,0,0,0 misc 110 | foodcamimages/TEST/20110219153950.jpg 0,0,0,0 fruit_veggie 111 | foodcamimages/TEST/20110219154748.jpg 0,0,0,0 fruit_veggie 112 | foodcamimages/TEST/20110222130204.jpg 0,0,0,0 wraps 113 | foodcamimages/TEST/20110223130812.jpg 0,0,0,0 cookies 114 | foodcamimages/TEST/20110223133028.jpg 0,0,0,0 misc 115 | foodcamimages/TEST/20110223150609.jpg 0,0,0,0 misc 116 | foodcamimages/TEST/20110223205838.jpg 0,0,0,0 misc 117 | foodcamimages/TEST/20110224132749.jpg 0,0,0,0 misc 118 | foodcamimages/TEST/20110224141617.jpg 0,0,0,0 sandwiches 119 | foodcamimages/TEST/20110224152917.jpg 0,0,0,0 fruit_veggie 120 | foodcamimages/TEST/20110224153531.jpg 0,0,0,0 fruit_veggie 121 | foodcamimages/TEST/20110224162448.jpg 0,0,0,0 indian 122 | foodcamimages/TEST/20110224170150.jpg 0,0,0,0 fruit_veggie 123 | foodcamimages/TEST/20110225132520.jpg 0,0,0,0 wraps 124 | foodcamimages/TEST/20110228121017.jpg 0,0,0,0 cookies 125 | foodcamimages/TEST/20110228212450.jpg 0,0,0,0 pizza 126 | foodcamimages/TEST/20110301131022.jpg 0,0,0,0 sandwiches 127 | foodcamimages/TEST/20110301195412.jpg 0,0,0,0 misc 128 | foodcamimages/TEST/20110302132913.jpg 0,0,0,0 wraps 129 | foodcamimages/TEST/20110302141436.jpg 0,0,0,0 misc 130 | foodcamimages/TEST/20110302171920.jpg 0,0,0,0 pizza 131 | foodcamimages/TEST/20110303103242.jpg 0,0,0,0 cookies 132 | foodcamimages/TEST/20110303104315.jpg 0,0,0,0 cookies 133 | foodcamimages/TEST/20110303164600.jpg 0,0,0,0 salad 134 | foodcamimages/TEST/20110304130539.jpg 0,0,0,0 pizza 135 | foodcamimages/TEST/20110304132909.jpg 0,0,0,0 sandwiches 136 | foodcamimages/TEST/20110304140057.jpg 0,0,0,0 salad 137 | foodcamimages/TEST/20110304141408.jpg 0,0,0,0 salad 138 | foodcamimages/TEST/20110304180255.jpg 0,0,0,0 salad 139 | foodcamimages/TEST/20110304190305.jpg 0,0,0,0 indian 140 | foodcamimages/TEST/20110304200213.jpg 0,0,0,0 misc 141 | foodcamimages/TEST/20110305134113.jpg 0,0,0,0 wraps 142 | foodcamimages/TEST/20110305144155.jpg 0,0,0,0 misc 143 | foodcamimages/TEST/20110305174316.jpg 0,0,0,0 pizza 144 | foodcamimages/TEST/20110306104842.jpg 0,0,0,0 cookies 145 | foodcamimages/TEST/20110306104843.jpg 0,0,0,0 cookies 146 | foodcamimages/TEST/20110306164945.jpg 0,0,0,0 salad 147 | foodcamimages/TEST/20110307132342.jpg 0,0,0,0 pizza 148 | foodcamimages/TEST/20110307140136.jpg 0,0,0,0 sandwiches 149 | foodcamimages/TEST/20110307142356.jpg 0,0,0,0 salad 150 | foodcamimages/TEST/20110307142356_1.jpg 0,0,0,0 salad 151 | foodcamimages/TEST/20110307182454.jpg 0,0,0,0 salad 152 | foodcamimages/TEST/20110307182526.jpg 0,0,0,0 misc 153 | foodcamimages/TEST/20110307192510.jpg 0,0,0,0 indian 154 | foodcamimages/TEST/20110307212226.jpg 0,0,0,0 indian 155 | foodcamimages/TEST/20110307212552.jpg 0,0,0,0 indian 156 | foodcamimages/TEST/20110308112736.jpg 0,0,0,0 salad 157 | foodcamimages/TEST/20110308125754.jpg 0,0,0,0 salad 158 | foodcamimages/TEST/20110308151315.jpg 0,0,0,0 misc 159 | foodcamimages/TEST/20110308190448.jpg 0,0,0,0 pizza 160 | foodcamimages/TEST/20110309131409.jpg 0,0,0,0 sandwiches 161 | foodcamimages/TEST/20110309144443.jpg 0,0,0,0 salad 162 | foodcamimages/TEST/20110309184634.jpg 0,0,0,0 indian 163 | foodcamimages/TEST/20110310114351.jpg 0,0,0,0 cookies 164 | foodcamimages/TEST/20110310162744.jpg 0,0,0,0 fruit_veggie 165 | foodcamimages/TEST/20110310191735.jpg 0,0,0,0 fruit_veggie 166 | foodcamimages/TEST/20110311115316.jpg 0,0,0,0 cookies 167 | foodcamimages/TEST/20110311121147.jpg 0,0,0,0 fruit_veggie 168 | foodcamimages/TEST/20110311191645.jpg 0,0,0,0 misc 169 | foodcamimages/TEST/20110314112416.jpg 0,0,0,0 pizza 170 | foodcamimages/TEST/20110314124732.jpg 0,0,0,0 pizza 171 | foodcamimages/TEST/20110314140324.jpg 0,0,0,0 salad 172 | foodcamimages/TEST/20110314180430.jpg 0,0,0,0 cookies 173 | foodcamimages/TEST/20110315135536.jpg 0,0,0,0 sandwiches 174 | foodcamimages/TEST/20110316145834.jpg 0,0,0,0 fruit_veggie 175 | foodcamimages/TEST/20110316211700.jpg 0,0,0,0 misc 176 | foodcamimages/TEST/20110316211742.jpg 0,0,0,0 pizza 177 | foodcamimages/TEST/20110316212206.jpg 0,0,0,0 indian 178 | foodcamimages/TEST/20110317015913.jpg 0,0,0,0 misc 179 | foodcamimages/TEST/20110317015915.jpg 0,0,0,0 misc 180 | foodcamimages/TEST/20110317020300.jpg 0,0,0,0 misc 181 | foodcamimages/TEST/20110317140140.jpg 0,0,0,0 wraps 182 | foodcamimages/TEST/20110317143923.jpg 0,0,0,0 misc 183 | foodcamimages/TEST/20110317221334.jpg 0,0,0,0 misc 184 | foodcamimages/TEST/20110318154134.jpg 0,0,0,0 misc 185 | foodcamimages/TEST/20110318200954.jpg 0,0,0,0 misc 186 | foodcamimages/TEST/20110319151801.jpg 0,0,0,0 salad 187 | foodcamimages/TEST/20110319171841.jpg 0,0,0,0 misc 188 | foodcamimages/TEST/20110323151650.jpg 0,0,0,0 fruit_veggie 189 | foodcamimages/TEST/20110323193644.jpg 0,0,0,0 salad 190 | foodcamimages/TEST/20110325101558.jpg 0,0,0,0 misc 191 | foodcamimages/TEST/20110329151024.jpg 0,0,0,0 fruit_veggie 192 | foodcamimages/TEST/20110329155324.jpg 0,0,0,0 misc 193 | foodcamimages/TEST/20110330154002.jpg 0,0,0,0 salad 194 | foodcamimages/TEST/20110330192432.jpg 0,0,0,0 indian 195 | foodcamimages/TEST/20110331213447.jpg 0,0,0,0 fruit_veggie 196 | foodcamimages/TEST/20110331222116.jpg 0,0,0,0 misc 197 | foodcamimages/TEST/20110401133131.jpg 0,0,0,0 cookies 198 | foodcamimages/TEST/20110401162742.jpg 0,0,0,0 misc 199 | foodcamimages/TEST/20110401184238.jpg 0,0,0,0 misc 200 | foodcamimages/TEST/20110401212726.jpg 0,0,0,0 indian 201 | foodcamimages/TEST/20110401213153.jpg 0,0,0,0 indian 202 | foodcamimages/TEST/20110405153615.jpg 0,0,0,0 misc 203 | foodcamimages/TEST/20110405164226.jpg 0,0,0,0 misc 204 | foodcamimages/TEST/20110406141352.jpg 0,0,0,0 misc 205 | foodcamimages/TEST/20110406195333.jpg 0,0,0,0 misc 206 | foodcamimages/TEST/20110406200941.jpg 0,0,0,0 sandwiches 207 | foodcamimages/TEST/20110407162043.jpg 0,0,0,0 misc 208 | foodcamimages/TEST/20110411132147.jpg 0,0,0,0 sandwiches 209 | foodcamimages/TEST/20110411132433.jpg 0,0,0,0 misc 210 | foodcamimages/TEST/20110411185814.jpg 0,0,0,0 misc 211 | foodcamimages/TEST/20110412025349.jpg 0,0,0,0 misc 212 | foodcamimages/TEST/20110412133826.jpg 0,0,0,0 misc 213 | foodcamimages/TEST/20110412150619.jpg 0,0,0,0 misc 214 | foodcamimages/TEST/20110413145603.jpg 0,0,0,0 sandwiches 215 | foodcamimages/TEST/20110414132208.jpg 0,0,0,0 misc 216 | foodcamimages/TEST/20110414143007.jpg 0,0,0,0 sandwiches 217 | foodcamimages/TEST/20110414143852.jpg 0,0,0,0 sandwiches 218 | foodcamimages/TEST/20110415191425.jpg 0,0,0,0 salad 219 | foodcamimages/TEST/20110418143738.jpg 0,0,0,0 misc 220 | foodcamimages/TEST/20110419153548.jpg 0,0,0,0 misc 221 | foodcamimages/TEST/20110420152838.jpg 0,0,0,0 misc 222 | foodcamimages/TEST/20110420164703.jpg 0,0,0,0 fruit_veggie 223 | foodcamimages/TEST/20110423161349.jpg 0,0,0,0 cookies 224 | foodcamimages/TEST/20110424170359.jpg 0,0,0,0 misc 225 | foodcamimages/TEST/20110425124752.jpg 0,0,0,0 fruit_veggie 226 | foodcamimages/TEST/20110425140213.jpg 0,0,0,0 misc 227 | foodcamimages/TEST/20110425154629.jpg 0,0,0,0 salad 228 | foodcamimages/TEST/20110426145212.jpg 0,0,0,0 misc 229 | foodcamimages/TEST/20110426171357.jpg 0,0,0,0 fruit_veggie 230 | foodcamimages/TEST/20110427194632.jpg 0,0,0,0 indian 231 | foodcamimages/TEST/20110502134010.jpg 0,0,0,0 fruit_veggie 232 | foodcamimages/TEST/20110502175537.jpg 0,0,0,0 fruit_veggie 233 | foodcamimages/TEST/20110502232401.jpg 0,0,0,0 pizza 234 | foodcamimages/TEST/20110503144202.jpg 0,0,0,0 pizza 235 | foodcamimages/TEST/20110503144514.jpg 0,0,0,0 pizza 236 | foodcamimages/TEST/20110503154035.jpg 0,0,0,0 indian 237 | foodcamimages/TEST/20110504121439.jpg 0,0,0,0 fruit_veggie 238 | foodcamimages/TEST/20110505135159.jpg 0,0,0,0 misc 239 | foodcamimages/TEST/20110505152538.jpg 0,0,0,0 sandwiches 240 | foodcamimages/TEST/20110505202902.jpg 0,0,0,0 fruit_veggie 241 | foodcamimages/TEST/20110506134626.jpg 0,0,0,0 misc 242 | foodcamimages/TEST/20110506151538.jpg 0,0,0,0 misc 243 | foodcamimages/TEST/20110506151759.jpg 0,0,0,0 misc 244 | foodcamimages/TEST/20110506172009.jpg 0,0,0,0 misc 245 | foodcamimages/TEST/20110506183814.jpg 0,0,0,0 misc 246 | foodcamimages/TEST/20110506191258.jpg 0,0,0,0 misc 247 | foodcamimages/TEST/20110507220447.jpg 0,0,0,0 fruit_veggie 248 | foodcamimages/TEST/20110509124451.jpg 0,0,0,0 fruit_veggie 249 | foodcamimages/TEST/20110509180146.jpg 0,0,0,0 fruit_veggie 250 | foodcamimages/TEST/20110509191550.jpg 0,0,0,0 cookies 251 | foodcamimages/TEST/20110509203238.jpg 0,0,0,0 misc 252 | foodcamimages/TEST/20110509220906.jpg 0,0,0,0 pizza 253 | foodcamimages/TEST/20110509230842.jpg 0,0,0,0 misc 254 | foodcamimages/TEST/20110509231634.jpg 0,0,0,0 misc 255 | foodcamimages/TEST/20110509234550.jpg 0,0,0,0 pizza 256 | foodcamimages/TEST/20110510150450.jpg 0,0,0,0 salad 257 | foodcamimages/TEST/20110510161245.jpg 0,0,0,0 pizza 258 | foodcamimages/TEST/20110511011008.jpg 0,0,0,0 indian 259 | foodcamimages/TEST/20110511013632.jpg 0,0,0,0 indian 260 | foodcamimages/TEST/20110511181337.jpg 0,0,0,0 misc 261 | foodcamimages/TEST/20110511233105.jpg 0,0,0,0 misc 262 | foodcamimages/TEST/20110513155818.jpg 0,0,0,0 salad 263 | foodcamimages/TEST/20110516170642.jpg 0,0,0,0 sandwiches 264 | foodcamimages/TEST/20110516194501.jpg 0,0,0,0 indian 265 | foodcamimages/TEST/20110517074627.jpg 0,0,0,0 misc 266 | foodcamimages/TEST/20110517154609.jpg 0,0,0,0 salad 267 | foodcamimages/TEST/20110517195357.jpg 0,0,0,0 fruit_veggie 268 | foodcamimages/TEST/20110517200615.jpg 0,0,0,0 fruit_veggie 269 | foodcamimages/TEST/20110518184336.jpg 0,0,0,0 sandwiches 270 | foodcamimages/TEST/20110518191632.jpg 0,0,0,0 misc 271 | foodcamimages/TEST/20110518205157.jpg 0,0,0,0 indian 272 | foodcamimages/TEST/20110518231908.jpg 0,0,0,0 sandwiches 273 | foodcamimages/TEST/20110519142705.jpg 0,0,0,0 misc 274 | foodcamimages/TEST/20110519181106.jpg 0,0,0,0 misc 275 | foodcamimages/TEST/20110519181310.jpg 0,0,0,0 misc 276 | foodcamimages/TEST/20110520225112.jpg 0,0,0,0 indian 277 | foodcamimages/TEST/20110521183601.jpg 0,0,0,0 pizza 278 | foodcamimages/TEST/20110523152839.jpg 0,0,0,0 misc 279 | foodcamimages/TEST/20110523211025.jpg 0,0,0,0 pizza 280 | foodcamimages/TEST/20110524154457.jpg 0,0,0,0 misc 281 | foodcamimages/TEST/20110524160707.jpg 0,0,0,0 misc 282 | foodcamimages/TEST/20110525161751.jpg 0,0,0,0 misc 283 | foodcamimages/TEST/20110526160335.jpg 0,0,0,0 misc 284 | foodcamimages/TEST/20110526164605.jpg 0,0,0,0 misc 285 | foodcamimages/TEST/20110526173526.jpg 0,0,0,0 pizza 286 | foodcamimages/TEST/20110527151004.jpg 0,0,0,0 misc 287 | foodcamimages/TEST/20110527151359.jpg 0,0,0,0 cookies 288 | foodcamimages/TEST/20110527235738.jpg 0,0,0,0 cookies 289 | foodcamimages/TEST/20110531131504.jpg 0,0,0,0 sandwiches 290 | foodcamimages/TEST/20110531132941.jpg 0,0,0,0 cookies 291 | foodcamimages/TEST/20110531143700.jpg 0,0,0,0 pizza 292 | foodcamimages/TEST/20110601032934.jpg 0,0,0,0 sandwiches 293 | foodcamimages/TEST/20110601034434.jpg 0,0,0,0 cookies 294 | foodcamimages/TEST/20110601044440.jpg 0,0,0,0 pizza 295 | foodcamimages/TEST/20110601221708.jpg 0,0,0,0 misc 296 | foodcamimages/TEST/20110601222051.jpg 0,0,0,0 salad 297 | foodcamimages/TEST/20110602165554.jpg 0,0,0,0 misc 298 | foodcamimages/TEST/20110602185549.jpg 0,0,0,0 misc 299 | foodcamimages/TEST/20110602215949.jpg 0,0,0,0 pizza 300 | foodcamimages/TEST/20110605191734.jpg 0,0,0,0 sandwiches 301 | foodcamimages/TEST/20110605193839.jpg 0,0,0,0 cookies 302 | foodcamimages/TEST/20110605203836.jpg 0,0,0,0 pizza 303 | foodcamimages/TEST/20110606152428.jpg 0,0,0,0 salad 304 | foodcamimages/TEST/20110607142552.jpg 0,0,0,0 sandwiches 305 | foodcamimages/TEST/20110607145418.jpg 0,0,0,0 salad 306 | foodcamimages/TEST/20110607182304.jpg 0,0,0,0 misc 307 | foodcamimages/TEST/20110607185537.jpg 0,0,0,0 cookies 308 | foodcamimages/TEST/20110608010058.jpg 0,0,0,0 pizza 309 | foodcamimages/TEST/20110608112454.jpg 0,0,0,0 misc 310 | foodcamimages/TEST/20110608150406.jpg 0,0,0,0 pizza 311 | foodcamimages/TEST/20110608150513.jpg 0,0,0,0 wraps 312 | foodcamimages/TEST/20110608151120.jpg 0,0,0,0 wraps 313 | foodcamimages/TEST/20110608170943.jpg 0,0,0,0 salad 314 | foodcamimages/TEST/20110608192622.jpg 0,0,0,0 fruit_veggie 315 | foodcamimages/TEST/20110608194333.jpg 0,0,0,0 fruit_veggie 316 | foodcamimages/TEST/20110609142026.jpg 0,0,0,0 fruit_veggie 317 | foodcamimages/TEST/20110609170603.jpg 0,0,0,0 salad 318 | foodcamimages/TEST/20110609225610.jpg 0,0,0,0 misc 319 | foodcamimages/TEST/20110609234258.jpg 0,0,0,0 pizza 320 | foodcamimages/TEST/20110613155413.jpg 0,0,0,0 fruit_veggie 321 | -------------------------------------------------------------------------------- /test_one_class_rects.txt: -------------------------------------------------------------------------------- 1 | foodcamimages/TEST/20101201191626.jpg 14,236,612,230 pizza 2 | foodcamimages/TEST/20101202131934.jpg 14,216,605,243 misc 3 | foodcamimages/TEST/20101202144812.jpg 205,179,156,208 misc 4 | foodcamimages/TEST/20101202232118.jpg 128,165,237,172 pizza 5 | foodcamimages/TEST/20101202232232.jpg 389,225,170,219 pizza 6 | foodcamimages/TEST/20101203001044.jpg 147,129,184,150 pizza 7 | foodcamimages/TEST/20101203201514.jpg 279,221,108,101 misc 8 | foodcamimages/TEST/20101204162533.jpg 0,0,0,0 misc 9 | foodcamimages/TEST/20101204192707.jpg 26,260,598,203 pizza 10 | foodcamimages/TEST/20101206134855.jpg 366,109,126,201 cookies 11 | foodcamimages/TEST/20101206174224.jpg 299,144,229,231 mexican 12 | foodcamimages/TEST/20101206174950.jpg 0,0,0,0 misc 13 | foodcamimages/TEST/20101207100304.jpg 0,0,0,0 misc 14 | foodcamimages/TEST/20101208192815.jpg 147,94,472,366 pizza 15 | foodcamimages/TEST/20101208193952.jpg 431,218,197,211 pizza 16 | foodcamimages/TEST/20101208195514.jpg 300,136,209,326 salad 17 | foodcamimages/TEST/20101208220938.jpg 376,116,251,315 pizza 18 | foodcamimages/TEST/20101209134430.jpg 39,170,394,282 misc 19 | foodcamimages/TEST/20101209142828.jpg 497,138,117,196 salad 20 | foodcamimages/TEST/20101209161143.jpg 225,103,193,185 fruit_veggie 21 | foodcamimages/TEST/20101209162444.jpg 205,181,181,169 cookies 22 | foodcamimages/TEST/20101211173046.jpg 0,0,0,0 misc 23 | foodcamimages/TEST/20101213000657.jpg 0,0,0,0 misc 24 | foodcamimages/TEST/20101213143803.jpg 67,110,510,343 indian 25 | foodcamimages/TEST/20101213163832.jpg 216,147,212,210 cookies 26 | foodcamimages/TEST/20101213181057.jpg 344,152,223,235 cookies 27 | foodcamimages/TEST/20101213190234.jpg 23,162,139,187 salad 28 | foodcamimages/TEST/20101213195227.jpg 193,103,323,254 pizza 29 | foodcamimages/TEST/20101213201603.jpg 378,91,162,303 pizza 30 | foodcamimages/TEST/20101214120410.jpg 207,135,248,249 sandwiches 31 | foodcamimages/TEST/20101214131707.jpg 171,146,306,205 misc 32 | foodcamimages/TEST/20101215133400.jpg 27,88,587,354 pizza 33 | foodcamimages/TEST/20101215142848.jpg 183,162,187,222 misc 34 | foodcamimages/TEST/20101215144728.jpg 26,212,144,205 misc 35 | foodcamimages/TEST/20101215150354.jpg 306,136,241,231 cookies 36 | foodcamimages/TEST/20101215171131.jpg 146,277,241,191 sandwiches 37 | foodcamimages/TEST/20101216175058.jpg 333,173,227,241 sandwiches 38 | foodcamimages/TEST/20101217160315.jpg 14,82,607,366 mexican 39 | foodcamimages/TEST/20101220172039.jpg 0,0,0,0 misc 40 | foodcamimages/TEST/20101221170949.jpg 147,236,162,164 fruit_veggie 41 | foodcamimages/TEST/20110104172709.jpg 83,144,395,204 cookies 42 | foodcamimages/TEST/20110105121916.jpg 0,0,0,0 misc 43 | foodcamimages/TEST/20110105142138.jpg 448,157,161,175 fruit_veggie 44 | foodcamimages/TEST/20110106133635.jpg 0,0,0,0 misc 45 | foodcamimages/TEST/20110107133817.jpg 316,177,177,159 salad 46 | foodcamimages/TEST/20110110141530.jpg 0,0,0,0 misc 47 | foodcamimages/TEST/20110110143701.jpg 212,325,260,149 sandwiches 48 | foodcamimages/TEST/20110110164830.jpg 244,113,175,247 cookies 49 | foodcamimages/TEST/20110111161252.jpg 148,133,176,170 salad 50 | foodcamimages/TEST/20110113132300.jpg 151,143,269,263 sandwiches 51 | foodcamimages/TEST/20110113143129.jpg 61,150,558,292 indian 52 | foodcamimages/TEST/20110113165005.jpg 275,386,180,91 pizza 53 | foodcamimages/TEST/20110113185642.jpg 108,352,198,116 salad 54 | foodcamimages/TEST/20110114133510.jpg 406,159,222,260 sandwiches 55 | foodcamimages/TEST/20110114142251.jpg 100,206,180,260 salad 56 | foodcamimages/TEST/20110117194246.jpg 60,122,185,184 cookies 57 | foodcamimages/TEST/20110117194309.jpg 73,344,169,104 fruit_veggie 58 | foodcamimages/TEST/20110118000439.jpg 19,106,593,337 pizza 59 | foodcamimages/TEST/20110118000501.jpg 27,127,567,303 pizza 60 | foodcamimages/TEST/20110118135214.jpg 186,128,306,248 wraps 61 | foodcamimages/TEST/20110119132918.jpg 0,0,0,0 misc 62 | foodcamimages/TEST/20110119165330.jpg 282,289,158,183 sandwiches 63 | foodcamimages/TEST/20110120121858.jpg 0,0,0,0 misc 64 | foodcamimages/TEST/20110120121905.jpg 0,0,0,0 misc 65 | foodcamimages/TEST/20110120121905_1.jpg 0,0,0,0 misc 66 | foodcamimages/TEST/20110120121905_2.jpg 0,0,0,0 misc 67 | foodcamimages/TEST/20110120121905_3.jpg 0,0,0,0 misc 68 | foodcamimages/TEST/20110120121905_4.jpg 0,0,0,0 misc 69 | foodcamimages/TEST/20110120135309.jpg 40,82,433,379 indian 70 | foodcamimages/TEST/20110120162356.jpg 69,135,529,271 cookies 71 | foodcamimages/TEST/20110123165854.jpg 453,218,177,208 sandwiches 72 | foodcamimages/TEST/20110124201407.jpg 180,110,338,297 pizza 73 | foodcamimages/TEST/20110125131838.jpg 171,167,322,188 misc 74 | foodcamimages/TEST/20110125132218.jpg 158,168,341,167 misc 75 | foodcamimages/TEST/20110125145559.jpg 0,0,0,0 misc 76 | foodcamimages/TEST/20110125201949.jpg 0,0,0,0 misc 77 | foodcamimages/TEST/20110126002502.jpg 0,0,0,0 misc 78 | foodcamimages/TEST/20110126160957.jpg 267,138,221,224 salad 79 | foodcamimages/TEST/20110127215142.jpg 0,0,0,0 misc 80 | foodcamimages/TEST/20110128104435.jpg 18,132,223,233 fruit_veggie 81 | foodcamimages/TEST/20110128145636.jpg 38,122,592,333 indian 82 | foodcamimages/TEST/20110129134228.jpg 197,318,180,147 salad 83 | foodcamimages/TEST/20110131135001.jpg 139,109,309,228 pizza 84 | foodcamimages/TEST/20110203164745.jpg 305,118,324,337 pizza 85 | foodcamimages/TEST/20110203201616.jpg 226,312,186,155 fruit_veggie 86 | foodcamimages/TEST/20110204190141.jpg 163,126,454,273 indian 87 | foodcamimages/TEST/20110205141811.jpg 92,175,225,227 wraps 88 | foodcamimages/TEST/20110205224824.jpg 455,265,175,205 sandwiches 89 | foodcamimages/TEST/20110207133441.jpg 44,140,562,168 misc 90 | foodcamimages/TEST/20110208150918.jpg 119,165,381,193 salad 91 | foodcamimages/TEST/20110209104438.jpg 0,0,0,0 misc 92 | foodcamimages/TEST/20110209124907.jpg 0,0,0,0 misc 93 | foodcamimages/TEST/20110209145915.jpg 0,0,0,0 misc 94 | foodcamimages/TEST/20110209195730.jpg 318,151,155,154 misc 95 | foodcamimages/TEST/20110210165559.jpg 188,127,294,258 pizza 96 | foodcamimages/TEST/20110210180749.jpg 403,134,123,254 cookies 97 | foodcamimages/TEST/20110210190148.jpg 352,119,233,245 fruit_veggie 98 | foodcamimages/TEST/20110211154808.jpg 247,113,175,213 salad 99 | foodcamimages/TEST/20110214132342.jpg 99,161,474,265 misc 100 | foodcamimages/TEST/20110214151626.jpg 162,129,294,186 sandwiches 101 | foodcamimages/TEST/20110215032944.jpg 0,0,0,0 misc 102 | foodcamimages/TEST/20110215131713.jpg 334,131,201,146 sandwiches 103 | foodcamimages/TEST/20110216130808.jpg 175,152,239,217 mexican 104 | foodcamimages/TEST/20110216133022.jpg 141,142,238,239 mexican 105 | foodcamimages/TEST/20110216144125.jpg 169,300,136,155 salad 106 | foodcamimages/TEST/20110216190957.jpg 352,209,197,252 indian 107 | foodcamimages/TEST/20110216195635.jpg 252,129,265,260 pizza 108 | foodcamimages/TEST/20110217143254.jpg 80,193,450,202 misc 109 | foodcamimages/TEST/20110218175054.jpg 0,0,0,0 misc 110 | foodcamimages/TEST/20110219153950.jpg 171,123,261,236 fruit_veggie 111 | foodcamimages/TEST/20110219154748.jpg 40,281,211,177 fruit_veggie 112 | foodcamimages/TEST/20110222130204.jpg 177,126,278,109 wraps 113 | foodcamimages/TEST/20110223130812.jpg 190,196,159,176 cookies 114 | foodcamimages/TEST/20110223133028.jpg 0,0,0,0 misc 115 | foodcamimages/TEST/20110223150609.jpg 215,126,197,324 misc 116 | foodcamimages/TEST/20110223205838.jpg 0,0,0,0 misc 117 | foodcamimages/TEST/20110224132749.jpg 0,0,0,0 misc 118 | foodcamimages/TEST/20110224141617.jpg 143,135,204,271 sandwiches 119 | foodcamimages/TEST/20110224152917.jpg 326,199,152,162 fruit_veggie 120 | foodcamimages/TEST/20110224153531.jpg 313,209,164,155 fruit_veggie 121 | foodcamimages/TEST/20110224162448.jpg 0,0,0,0 misc 122 | foodcamimages/TEST/20110224170150.jpg 195,133,257,250 fruit_veggie 123 | foodcamimages/TEST/20110225132520.jpg 320,231,116,149 wraps 124 | foodcamimages/TEST/20110228121017.jpg 231,146,277,258 cookies 125 | foodcamimages/TEST/20110228212450.jpg 127,108,370,339 pizza 126 | foodcamimages/TEST/20110301131022.jpg 167,209,248,131 sandwiches 127 | foodcamimages/TEST/20110301195412.jpg 247,127,336,181 misc 128 | foodcamimages/TEST/20110302132913.jpg 235,126,225,266 wraps 129 | foodcamimages/TEST/20110302141436.jpg 0,0,0,0 misc 130 | foodcamimages/TEST/20110302171920.jpg 127,147,362,244 pizza 131 | foodcamimages/TEST/20110303103242.jpg 0,0,0,0 misc 132 | foodcamimages/TEST/20110303104315.jpg 0,0,0,0 misc 133 | foodcamimages/TEST/20110303164600.jpg 77,284,166,193 salad 134 | foodcamimages/TEST/20110304130539.jpg 70,161,556,308 pizza 135 | foodcamimages/TEST/20110304132909.jpg 155,186,277,167 sandwiches 136 | foodcamimages/TEST/20110304140057.jpg 443,135,119,192 salad 137 | foodcamimages/TEST/20110304141408.jpg 410,126,210,330 salad 138 | foodcamimages/TEST/20110304180255.jpg 487,242,136,188 salad 139 | foodcamimages/TEST/20110304190305.jpg 191,105,345,204 indian 140 | foodcamimages/TEST/20110304200213.jpg 212,113,177,227 misc 141 | foodcamimages/TEST/20110305134113.jpg 258,142,197,237 wraps 142 | foodcamimages/TEST/20110305144155.jpg 0,0,0,0 misc 143 | foodcamimages/TEST/20110305174316.jpg 146,164,338,214 pizza 144 | foodcamimages/TEST/20110306104842.jpg 0,0,0,0 misc 145 | foodcamimages/TEST/20110306104843.jpg 0,0,0,0 misc 146 | foodcamimages/TEST/20110306164945.jpg 58,286,183,179 salad 147 | foodcamimages/TEST/20110307132342.jpg 74,147,516,319 pizza 148 | foodcamimages/TEST/20110307140136.jpg 152,202,281,127 sandwiches 149 | foodcamimages/TEST/20110307142356.jpg 418,146,158,171 salad 150 | foodcamimages/TEST/20110307142356_1.jpg 169,298,162,172 misc 151 | foodcamimages/TEST/20110307182454.jpg 493,233,120,183 salad 152 | foodcamimages/TEST/20110307182526.jpg 97,154,450,182 indian 153 | foodcamimages/TEST/20110307192510.jpg 205,122,333,181 indian 154 | foodcamimages/TEST/20110307212226.jpg 393,347,209,126 misc 155 | foodcamimages/TEST/20110307212552.jpg 544,124,83,195 salad 156 | foodcamimages/TEST/20110308112736.jpg 306,293,186,139 salad 157 | foodcamimages/TEST/20110308125754.jpg 0,0,0,0 misc 158 | foodcamimages/TEST/20110308151315.jpg 301,185,171,211 misc 159 | foodcamimages/TEST/20110308190448.jpg 165,121,395,274 pizza 160 | foodcamimages/TEST/20110309131409.jpg 405,216,212,208 sandwiches 161 | foodcamimages/TEST/20110309144443.jpg 344,179,170,279 misc 162 | foodcamimages/TEST/20110309184634.jpg 79,112,446,304 indian 163 | foodcamimages/TEST/20110310114351.jpg 138,146,223,226 cookies 164 | foodcamimages/TEST/20110310162744.jpg 247,168,234,223 fruit_veggie 165 | foodcamimages/TEST/20110310191735.jpg 201,138,251,174 sandwiches 166 | foodcamimages/TEST/20110311115316.jpg 400,199,172,138 cookies 167 | foodcamimages/TEST/20110311121147.jpg 178,115,250,231 fruit_veggie 168 | foodcamimages/TEST/20110311191645.jpg 0,0,0,0 misc 169 | foodcamimages/TEST/20110314112416.jpg 92,203,436,245 pizza 170 | foodcamimages/TEST/20110314124732.jpg 84,218,422,239 pizza 171 | foodcamimages/TEST/20110314140324.jpg 283,191,143,135 salad 172 | foodcamimages/TEST/20110314180430.jpg 261,258,305,206 cookies 173 | foodcamimages/TEST/20110315135536.jpg 162,200,236,256 sandwiches 174 | foodcamimages/TEST/20110316145834.jpg 228,144,224,150 fruit_veggie 175 | foodcamimages/TEST/20110316211700.jpg 0,0,0,0 misc 176 | foodcamimages/TEST/20110316211742.jpg 176,158,394,299 pizza 177 | foodcamimages/TEST/20110316212206.jpg 269,163,147,122 indian 178 | foodcamimages/TEST/20110317015913.jpg 188,160,244,180 misc 179 | foodcamimages/TEST/20110317015915.jpg 164,154,255,184 misc 180 | foodcamimages/TEST/20110317020300.jpg 181,180,281,188 misc 181 | foodcamimages/TEST/20110317140140.jpg 84,214,142,132 wraps 182 | foodcamimages/TEST/20110317143923.jpg 0,0,0,0 misc 183 | foodcamimages/TEST/20110317221334.jpg 0,0,0,0 misc 184 | foodcamimages/TEST/20110318154134.jpg 0,0,0,0 misc 185 | foodcamimages/TEST/20110318200954.jpg 224,260,165,201 misc 186 | foodcamimages/TEST/20110319151801.jpg 369,134,157,184 salad 187 | foodcamimages/TEST/20110319171841.jpg 0,0,0,0 misc 188 | foodcamimages/TEST/20110323151650.jpg 428,129,194,189 sandwiches 189 | foodcamimages/TEST/20110323193644.jpg 0,0,0,0 misc 190 | foodcamimages/TEST/20110325101558.jpg 0,0,0,0 misc 191 | foodcamimages/TEST/20110329151024.jpg 237,156,239,213 fruit_veggie 192 | foodcamimages/TEST/20110329155324.jpg 444,166,156,297 misc 193 | foodcamimages/TEST/20110330154002.jpg 178,298,136,98 salad 194 | foodcamimages/TEST/20110330192432.jpg 233,182,302,221 indian 195 | foodcamimages/TEST/20110331213447.jpg 276,163,112,125 salad 196 | foodcamimages/TEST/20110331222116.jpg 0,0,0,0 misc 197 | foodcamimages/TEST/20110401133131.jpg 267,126,174,94 cookies 198 | foodcamimages/TEST/20110401162742.jpg 0,0,0,0 misc 199 | foodcamimages/TEST/20110401184238.jpg 220,159,191,296 misc 200 | foodcamimages/TEST/20110401212726.jpg 72,145,555,317 indian 201 | foodcamimages/TEST/20110401213153.jpg 101,176,495,285 indian 202 | foodcamimages/TEST/20110405153615.jpg 15,217,47,148 salad 203 | foodcamimages/TEST/20110405164226.jpg 0,0,0,0 misc 204 | foodcamimages/TEST/20110406141352.jpg 251,172,202,151 misc 205 | foodcamimages/TEST/20110406195333.jpg 0,0,0,0 misc 206 | foodcamimages/TEST/20110406200941.jpg 311,214,110,107 sandwiches 207 | foodcamimages/TEST/20110407162043.jpg 0,0,0,0 misc 208 | foodcamimages/TEST/20110411132147.jpg 131,252,263,194 sandwiches 209 | foodcamimages/TEST/20110411132433.jpg 206,236,92,117 salad 210 | foodcamimages/TEST/20110411185814.jpg 0,0,0,0 misc 211 | foodcamimages/TEST/20110412025349.jpg 0,0,0,0 misc 212 | foodcamimages/TEST/20110412133826.jpg 232,124,154,191 misc 213 | foodcamimages/TEST/20110412150619.jpg 0,0,0,0 misc 214 | foodcamimages/TEST/20110413145603.jpg 254,168,140,148 sandwiches 215 | foodcamimages/TEST/20110414132208.jpg 0,0,0,0 misc 216 | foodcamimages/TEST/20110414143007.jpg 201,230,290,234 sandwiches 217 | foodcamimages/TEST/20110414143852.jpg 27,285,451,175 sandwiches 218 | foodcamimages/TEST/20110415191425.jpg 11,255,154,185 salad 219 | foodcamimages/TEST/20110418143738.jpg 0,0,0,0 misc 220 | foodcamimages/TEST/20110419153548.jpg 36,239,551,191 misc 221 | foodcamimages/TEST/20110420152838.jpg 390,134,197,175 misc 222 | foodcamimages/TEST/20110420164703.jpg 441,322,126,127 fruit_veggie 223 | foodcamimages/TEST/20110423161349.jpg 197,128,241,241 cookies 224 | foodcamimages/TEST/20110424170359.jpg 0,0,0,0 misc 225 | foodcamimages/TEST/20110425124752.jpg 75,196,448,238 fruit_veggie 226 | foodcamimages/TEST/20110425140213.jpg 97,278,125,147 cookies 227 | foodcamimages/TEST/20110425154629.jpg 200,187,166,142 salad 228 | foodcamimages/TEST/20110426145212.jpg 0,0,0,0 misc 229 | foodcamimages/TEST/20110426171357.jpg 341,218,176,174 fruit_veggie 230 | foodcamimages/TEST/20110427194632.jpg 164,128,347,268 indian 231 | foodcamimages/TEST/20110502134010.jpg 260,151,191,170 fruit_veggie 232 | foodcamimages/TEST/20110502175537.jpg 151,142,249,232 fruit_veggie 233 | foodcamimages/TEST/20110502232401.jpg 210,163,333,306 pizza 234 | foodcamimages/TEST/20110503144202.jpg 104,148,522,282 pizza 235 | foodcamimages/TEST/20110503144514.jpg 162,140,472,287 pizza 236 | foodcamimages/TEST/20110503154035.jpg 171,165,461,297 indian 237 | foodcamimages/TEST/20110504121439.jpg 157,174,454,252 fruit_veggie 238 | foodcamimages/TEST/20110505135159.jpg 0,0,0,0 misc 239 | foodcamimages/TEST/20110505152538.jpg 315,128,146,222 sandwiches 240 | foodcamimages/TEST/20110505202902.jpg 184,122,258,255 fruit_veggie 241 | foodcamimages/TEST/20110506134626.jpg 279,166,164,139 misc 242 | foodcamimages/TEST/20110506151538.jpg 237,142,357,142 misc 243 | foodcamimages/TEST/20110506151759.jpg 173,161,424,303 misc 244 | foodcamimages/TEST/20110506172009.jpg 0,0,0,0 misc 245 | foodcamimages/TEST/20110506183814.jpg 0,0,0,0 misc 246 | foodcamimages/TEST/20110506191258.jpg 0,0,0,0 misc 247 | foodcamimages/TEST/20110507220447.jpg 286,202,134,101 fruit_veggie 248 | foodcamimages/TEST/20110509124451.jpg 404,235,201,216 fruit_veggie 249 | foodcamimages/TEST/20110509180146.jpg 256,141,244,248 fruit_veggie 250 | foodcamimages/TEST/20110509191550.jpg 137,271,298,178 cookies 251 | foodcamimages/TEST/20110509203238.jpg 210,84,316,339 pizza 252 | foodcamimages/TEST/20110509220906.jpg 209,104,258,270 pizza 253 | foodcamimages/TEST/20110509230842.jpg 0,0,0,0 misc 254 | foodcamimages/TEST/20110509231634.jpg 0,0,0,0 misc 255 | foodcamimages/TEST/20110509234550.jpg 241,99,245,266 pizza 256 | foodcamimages/TEST/20110510150450.jpg 319,127,197,223 salad 257 | foodcamimages/TEST/20110510161245.jpg 390,100,244,337 pizza 258 | foodcamimages/TEST/20110511011008.jpg 367,231,117,186 indian 259 | foodcamimages/TEST/20110511013632.jpg 261,100,219,173 indian 260 | foodcamimages/TEST/20110511181337.jpg 0,0,0,0 misc 261 | foodcamimages/TEST/20110511233105.jpg 0,0,0,0 misc 262 | foodcamimages/TEST/20110513155818.jpg 166,194,191,226 salad 263 | foodcamimages/TEST/20110516170642.jpg 174,112,182,211 sandwiches 264 | foodcamimages/TEST/20110516194501.jpg 260,191,222,128 indian 265 | foodcamimages/TEST/20110517074627.jpg 0,0,0,0 misc 266 | foodcamimages/TEST/20110517154609.jpg 136,318,149,144 salad 267 | foodcamimages/TEST/20110517195357.jpg 373,188,142,192 fruit_veggie 268 | foodcamimages/TEST/20110517200615.jpg 347,157,185,202 fruit_veggie 269 | foodcamimages/TEST/20110518184336.jpg 206,221,214,216 sandwiches 270 | foodcamimages/TEST/20110518191632.jpg 0,0,0,0 misc 271 | foodcamimages/TEST/20110518205157.jpg 254,219,219,231 indian 272 | foodcamimages/TEST/20110518231908.jpg 285,119,119,240 sandwiches 273 | foodcamimages/TEST/20110519142705.jpg 143,119,210,310 misc 274 | foodcamimages/TEST/20110519181106.jpg 0,0,0,0 misc 275 | foodcamimages/TEST/20110519181310.jpg 0,0,0,0 misc 276 | foodcamimages/TEST/20110520225112.jpg 135,120,272,338 indian 277 | foodcamimages/TEST/20110521183601.jpg 172,69,454,381 pizza 278 | foodcamimages/TEST/20110523152839.jpg 0,0,0,0 misc 279 | foodcamimages/TEST/20110523211025.jpg 157,48,188,335 pizza 280 | foodcamimages/TEST/20110524154457.jpg 0,0,0,0 misc 281 | foodcamimages/TEST/20110524160707.jpg 0,0,0,0 misc 282 | foodcamimages/TEST/20110525161751.jpg 238,111,212,333 misc 283 | foodcamimages/TEST/20110526160335.jpg 234,256,155,181 misc 284 | foodcamimages/TEST/20110526164605.jpg 406,280,144,128 sandwiches 285 | foodcamimages/TEST/20110526173526.jpg 201,76,205,327 pizza 286 | foodcamimages/TEST/20110527151004.jpg 0,0,0,0 misc 287 | foodcamimages/TEST/20110527151359.jpg 339,101,182,193 cookies 288 | foodcamimages/TEST/20110527235738.jpg 0,0,0,0 misc 289 | foodcamimages/TEST/20110531131504.jpg 204,116,246,224 sandwiches 290 | foodcamimages/TEST/20110531132941.jpg 158,80,451,306 cookies 291 | foodcamimages/TEST/20110531143700.jpg 124,93,255,206 pizza 292 | foodcamimages/TEST/20110601032934.jpg 251,117,201,213 sandwiches 293 | foodcamimages/TEST/20110601034434.jpg 134,67,448,336 cookies 294 | foodcamimages/TEST/20110601044440.jpg 131,85,234,226 pizza 295 | foodcamimages/TEST/20110601221708.jpg 0,0,0,0 misc 296 | foodcamimages/TEST/20110601222051.jpg 195,258,226,185 salad 297 | foodcamimages/TEST/20110602165554.jpg 145,115,442,212 misc 298 | foodcamimages/TEST/20110602185549.jpg 156,134,390,209 misc 299 | foodcamimages/TEST/20110602215949.jpg 297,147,116,167 pizza 300 | foodcamimages/TEST/20110605191734.jpg 220,118,243,225 sandwiches 301 | foodcamimages/TEST/20110605193839.jpg 147,78,434,303 cookies 302 | foodcamimages/TEST/20110605203836.jpg 138,101,238,205 pizza 303 | foodcamimages/TEST/20110606152428.jpg 237,306,143,126 salad 304 | foodcamimages/TEST/20110607142552.jpg 189,136,398,248 sandwiches 305 | foodcamimages/TEST/20110607145418.jpg 209,150,113,248 salad 306 | foodcamimages/TEST/20110607182304.jpg 505,146,128,223 sandwiches 307 | foodcamimages/TEST/20110607185537.jpg 134,138,178,258 cookies 308 | foodcamimages/TEST/20110608010058.jpg 0,0,0,0 misc 309 | foodcamimages/TEST/20110608112454.jpg 0,0,0,0 misc 310 | foodcamimages/TEST/20110608150406.jpg 145,81,474,318 pizza 311 | foodcamimages/TEST/20110608150513.jpg 200,112,287,265 wraps 312 | foodcamimages/TEST/20110608151120.jpg 136,100,200,282 wraps 313 | foodcamimages/TEST/20110608170943.jpg 512,134,114,162 salad 314 | foodcamimages/TEST/20110608192622.jpg 190,120,255,126 fruit_veggie 315 | foodcamimages/TEST/20110608194333.jpg 177,107,202,214 fruit_veggie 316 | foodcamimages/TEST/20110609142026.jpg 206,114,112,172 fruit_veggie 317 | foodcamimages/TEST/20110609170603.jpg 0,0,0,0 misc 318 | foodcamimages/TEST/20110609225610.jpg 0,0,0,0 misc 319 | foodcamimages/TEST/20110609234258.jpg 143,249,259,178 pizza 320 | foodcamimages/TEST/20110613155413.jpg 273,175,194,243 fruit_veggie 321 | -------------------------------------------------------------------------------- /training.txt: -------------------------------------------------------------------------------- 1 | foodcamimages/TRAIN/20080310175517.jpg 0,0,0,0 49 97 2 | foodcamimages/TRAIN/20080311002618.jpg 182,182,405,171 50 3 | foodcamimages/TRAIN/20080311143535.jpg 147,389,163,88 51 4 | foodcamimages/TRAIN/20080311144548.jpg 0,0,0,0 51 5 | foodcamimages/TRAIN/20080311174910.jpg 251,139,321,192 52 6 | foodcamimages/TRAIN/20080311175109.jpg 261,140,124,188 52 7 | foodcamimages/TRAIN/20080311200228.jpg 127,108,273,229 52 8 | foodcamimages/TRAIN/20080312053201.jpg 0,0,0,0 50 9 | foodcamimages/TRAIN/20080312162110.jpg 112,225,145,129 51 10 | foodcamimages/TRAIN/20080312175112.jpg 0,0,0,0 50 11 | foodcamimages/TRAIN/20080313115547.jpg 0,0,0,0 50 12 | foodcamimages/TRAIN/20080314140207.jpg 234,135,232,265 49 13 | foodcamimages/TRAIN/20080314180142.jpg 154,141,253,249 53 14 | foodcamimages/TRAIN/20080314180212.jpg 165,158,226,228 53 15 | foodcamimages/TRAIN/20080317112745.jpg 0,0,0,0 50 16 | foodcamimages/TRAIN/20080317141517.jpg 0,0,0,0 50 17 | foodcamimages/TRAIN/20080317143511.jpg 0,0,0,0 50 18 | foodcamimages/TRAIN/20080317145249.jpg 0,0,0,0 50 19 | foodcamimages/TRAIN/20080317151409.jpg 0,0,0,0 50 20 | foodcamimages/TRAIN/20080317163309.jpg 458,209,160,219 49 21 | foodcamimages/TRAIN/20080318131435.jpg 0,0,0,0 50 22 | foodcamimages/TRAIN/20080318140241.jpg 192,198,233,226 53 23 | foodcamimages/TRAIN/20080318174433.jpg 0,0,0,0 50 24 | foodcamimages/TRAIN/20080318181612.jpg 183,126,208,200 53 25 | foodcamimages/TRAIN/20080319143851.jpg 406,153,199,262 49 26 | foodcamimages/TRAIN/20080319231314.jpg 183,188,334,190 52 27 | foodcamimages/TRAIN/20080320124309.jpg 238,135,213,154 54 28 | foodcamimages/TRAIN/20080320155232.jpg 486,240,128,160 53 29 | foodcamimages/TRAIN/20080320203006.jpg 214,175,393,149 55 30 | foodcamimages/TRAIN/20080321141251.jpg 189,138,291,285 49 31 | foodcamimages/TRAIN/20080321142159.jpg 198,128,289,277 49 32 | foodcamimages/TRAIN/20080321150009.jpg 28,212,229,128 49 33 | foodcamimages/TRAIN/20080321154443.jpg 265,187,186,237 49 34 | foodcamimages/TRAIN/20080324065537.jpg 0,0,0,0 50 35 | foodcamimages/TRAIN/20080324140853.jpg 0,0,0,0 50 36 | foodcamimages/TRAIN/20080324151836.jpg 210,181,184,295 55 37 | foodcamimages/TRAIN/20080324185612.jpg 386,116,133,172 53 38 | foodcamimages/TRAIN/20080325023437.jpg 0,0,0,0 50 39 | foodcamimages/TRAIN/20080325154546.jpg 0,0,0,0 50 40 | foodcamimages/TRAIN/20080325165113.jpg 0,0,0,0 50 41 | foodcamimages/TRAIN/20080325210916.jpg 0,0,0,0 50 42 | foodcamimages/TRAIN/20080327021317.jpg 0,0,0,0 50 43 | foodcamimages/TRAIN/20080327172209.jpg 260,239,91,81 53 44 | foodcamimages/TRAIN/20080331152822.jpg 61,148,550,311 55 45 | foodcamimages/TRAIN/20080331163510.jpg 72,175,554,298 55 46 | foodcamimages/TRAIN/20080401002048.jpg 195,123,237,214 56 47 | foodcamimages/TRAIN/20080401132446.jpg 95,131,480,271 49 48 | foodcamimages/TRAIN/20080401165324.jpg 209,145,174,304 54 49 | foodcamimages/TRAIN/20080402131348.jpg 143,157,265,253 97 50 | foodcamimages/TRAIN/20080402133519.jpg 134,168,478,272 97 51 | foodcamimages/TRAIN/20080403125010.jpg 36,148,575,312 97 52 | foodcamimages/TRAIN/20080403130354.jpg 135,145,494,251 49 53 | foodcamimages/TRAIN/20080403190449.jpg 246,145,320,190 53 54 | foodcamimages/TRAIN/20080403195159.jpg 224,142,377,166 53 55 | foodcamimages/TRAIN/20080404131938.jpg 75,143,496,168 55 56 | foodcamimages/TRAIN/20080407144549.jpg 0,0,0,0 50 57 | foodcamimages/TRAIN/20080407153246.jpg 292,127,167,208 54 58 | foodcamimages/TRAIN/20080408151609.jpg 194,183,243,241 97 59 | foodcamimages/TRAIN/20080409144010.jpg 236,135,214,182 52 60 | foodcamimages/TRAIN/20080409161636.jpg 133,208,170,168 97 61 | foodcamimages/TRAIN/20080409162315.jpg 136,235,159,202 97 62 | foodcamimages/TRAIN/20080411115725.jpg 364,198,243,204 54 63 | foodcamimages/TRAIN/20080411142959.jpg 84,241,251,209 49 64 | foodcamimages/TRAIN/20080414172358.jpg 233,181,309,136 55 65 | foodcamimages/TRAIN/20080416143356.jpg 252,120,327,284 56 66 | foodcamimages/TRAIN/20080416154415.jpg 321,167,179,292 55 67 | foodcamimages/TRAIN/20080417122705.jpg 287,204,157,253 53 68 | foodcamimages/TRAIN/20080417131710.jpg 0,0,0,0 50 69 | foodcamimages/TRAIN/20080417202256.jpg 563,320,71,119 51 70 | foodcamimages/TRAIN/20080418165930.jpg 187,243,172,124 54 71 | foodcamimages/TRAIN/20080418180649.jpg 385,155,141,213 49 72 | foodcamimages/TRAIN/20080421163451.jpg 0,0,0,0 50 73 | foodcamimages/TRAIN/20080425120904.jpg 0,0,0,0 50 74 | foodcamimages/TRAIN/20080425153946.jpg 233,138,353,212 55 75 | foodcamimages/TRAIN/20080425171747.jpg 339,306,129,103 57 76 | foodcamimages/TRAIN/20080425183201.jpg 0,0,0,0 50 77 | foodcamimages/TRAIN/20080428140509.jpg 17,174,600,259 56 78 | foodcamimages/TRAIN/20080428191203.jpg 100,188,184,208 53 79 | foodcamimages/TRAIN/20080430142253.jpg 0,0,0,0 50 80 | foodcamimages/TRAIN/20080430184003.jpg 74,150,459,271 54 81 | foodcamimages/TRAIN/20080430185737.jpg 309,266,137,133 54 82 | foodcamimages/TRAIN/20080501194825.jpg 299,123,192,188 49 83 | foodcamimages/TRAIN/20080502115641.jpg 0,0,0,0 50 84 | foodcamimages/TRAIN/20080502141948.jpg 170,158,225,247 49 85 | foodcamimages/TRAIN/20080502145236.jpg 201,157,202,143 55 86 | foodcamimages/TRAIN/20080502153706.jpg 278,312,167,124 51 87 | foodcamimages/TRAIN/20080502170500.jpg 313,148,127,137 51 88 | foodcamimages/TRAIN/20080504004043.jpg 210,150,253,175 56 89 | foodcamimages/TRAIN/20080505184853.jpg 73,290,130,172 97 90 | foodcamimages/TRAIN/20080506202711.jpg 297,123,250,265 52 91 | foodcamimages/TRAIN/20080506202927.jpg 208,152,333,319 52 92 | foodcamimages/TRAIN/20080507144907.jpg 306,258,129,160 51 93 | foodcamimages/TRAIN/20080509142919.jpg 240,143,232,248 49 94 | foodcamimages/TRAIN/20080509144159.jpg 0,0,0,0 50 95 | foodcamimages/TRAIN/20080509144945.jpg 160,217,221,152 49 96 | foodcamimages/TRAIN/20080509180942.jpg 353,290,137,112 54 97 | foodcamimages/TRAIN/20080512141205.jpg 184,133,166,123 55 98 | foodcamimages/TRAIN/20080512152336.jpg 150,258,116,139 55 99 | foodcamimages/TRAIN/20080513163519.jpg 207,149,296,171 55 100 | foodcamimages/TRAIN/200805145142.jpg 258,178,237,227 97 101 | foodcamimages/TRAIN/20080514170137.jpg 82,294,136,142 49 102 | foodcamimages/TRAIN/20080516120932.jpg 194,170,257,202 54 103 | foodcamimages/TRAIN/20080519141408.jpg 466,245,166,175 51 104 | foodcamimages/TRAIN/20080519141420.jpg 344,147,169,178 51 105 | foodcamimages/TRAIN/20080519232935.jpg 0,0,0,0 50 106 | foodcamimages/TRAIN/20080520002854.jpg 0,0,0,0 50 107 | foodcamimages/TRAIN/20080520002856.jpg 0,0,0,0 50 108 | foodcamimages/TRAIN/20080520002858.jpg 0,0,0,0 50 109 | foodcamimages/TRAIN/20080520002859.jpg 0,0,0,0 50 110 | foodcamimages/TRAIN/20080520125051.jpg 0,0,0,0 50 111 | foodcamimages/TRAIN/20080520135859.jpg 97,154,411,318 55 112 | foodcamimages/TRAIN/20080520135902.jpg 74,152,479,278 55 113 | foodcamimages/TRAIN/20080520135911.jpg 51,167,183,283 55 114 | foodcamimages/TRAIN/20080520135918.jpg 146,136,421,261 52 115 | foodcamimages/TRAIN/20080520135922.jpg 0,0,0,0 50 116 | foodcamimages/TRAIN/20080520135930.jpg 0,0,0,0 50 117 | foodcamimages/TRAIN/20080520135937.jpg 131,132,414,229 51 118 | foodcamimages/TRAIN/20080520135943.jpg 301,158,299,219 52 119 | foodcamimages/TRAIN/20080520140000.jpg 0,0,0,0 50 120 | foodcamimages/TRAIN/20080520140017.jpg 149,163,377,202 55 121 | foodcamimages/TRAIN/20080521143637.jpg 239,280,246,183 52 122 | foodcamimages/TRAIN/20080522150608.jpg 180,161,178,280 55 123 | foodcamimages/TRAIN/20080522150614.jpg 0,0,0,0 50 124 | foodcamimages/TRAIN/20080522181312.jpg 0,0,0,0 50 125 | foodcamimages/TRAIN/20080522195817.jpg 0,0,0,0 50 126 | foodcamimages/TRAIN/20080523113842.jpg 0,0,0,0 50 127 | foodcamimages/TRAIN/20080523132015.jpg 0,0,0,0 50 128 | foodcamimages/TRAIN/20080523132322.jpg 0,0,0,0 50 129 | foodcamimages/TRAIN/20080523132326.jpg 0,0,0,0 50 130 | foodcamimages/TRAIN/20080523132328.jpg 0,0,0,0 50 131 | foodcamimages/TRAIN/20080523170154.jpg 9,328,229,133 54 132 | foodcamimages/TRAIN/20080524193042.jpg 0,0,0,0 50 133 | foodcamimages/TRAIN/20080524193047.jpg 0,0,0,0 50 134 | foodcamimages/TRAIN/20080528143328.jpg 222,141,337,198 55 135 | foodcamimages/TRAIN/20080529162338.jpg 0,0,0,0 50 136 | foodcamimages/TRAIN/20080529163904.jpg 270,158,180,297 55 137 | foodcamimages/TRAIN/20080530211158.jpg 189,143,299,231 55 138 | foodcamimages/TRAIN/20080531140102.jpg 58,152,496,276 55 139 | foodcamimages/TRAIN/20080531140107.jpg 97,126,486,282 55 140 | foodcamimages/TRAIN/20080605161738.jpg 47,157,266,282 49 141 | foodcamimages/TRAIN/20080605180242.jpg 482,280,127,188 55 142 | foodcamimages/TRAIN/20080605211434.jpg 174,110,374,311 56 143 | foodcamimages/TRAIN/20080605212155.jpg 177,98,309,337 56 144 | foodcamimages/TRAIN/20080606193724.jpg 0,0,0,0 50 145 | foodcamimages/TRAIN/20080610153922.jpg 309,190,187,190 55 146 | foodcamimages/TRAIN/20080610155855.jpg 563,140,57,162 51 147 | foodcamimages/TRAIN/20080610174702.jpg 285,166,163,162 51 148 | foodcamimages/TRAIN/20080611143519.jpg 159,200,73,76 97 149 | foodcamimages/TRAIN/20080613144603.jpg 0,0,0,0 50 150 | foodcamimages/TRAIN/20080613144856.jpg 45,229,118,207 55 151 | foodcamimages/TRAIN/20080613202642.jpg 0,0,0,0 50 152 | foodcamimages/TRAIN/20080616135419.jpg 87,175,494,272 56 153 | foodcamimages/TRAIN/20080617163950.jpg 0,0,0,0 50 154 | foodcamimages/TRAIN/20080618230816.jpg 194,170,219,223 49 155 | foodcamimages/TRAIN/20080624160858.jpg 45,198,179,115 54 156 | foodcamimages/TRAIN/200806251457.jpg 271,173,232,192 49 157 | foodcamimages/TRAIN/20080625141514.jpg 240,150,248,219 49 158 | foodcamimages/TRAIN/20080625143912.jpg 161,339,138,103 51 159 | foodcamimages/TRAIN/20080625175647.jpg 102,338,231,123 53 160 | foodcamimages/TRAIN/20080626211057.jpg 162,138,165,170 51 161 | foodcamimages/TRAIN/20080626220633.jpg 354,165,171,232 49 162 | foodcamimages/TRAIN/20080627150716.jpg 260,132,213,145 55 163 | foodcamimages/TRAIN/20080629113239.jpg 0,0,0,0 50 164 | foodcamimages/TRAIN/20080630130003.jpg 53,229,153,152 54 165 | foodcamimages/TRAIN/20080701181113.jpg 0,0,0,0 50 166 | foodcamimages/TRAIN/20080702160111.jpg 405,246,211,205 56 167 | foodcamimages/TRAIN/20080703151450.jpg 175,132,211,107 97 168 | foodcamimages/TRAIN/20080703152215.jpg 134,158,240,94 97 169 | foodcamimages/TRAIN/20080704205012.jpg 519,196,98,94 51 170 | foodcamimages/TRAIN/200807085203.jpg 0,0,0,0 50 171 | foodcamimages/TRAIN/20080708154810.jpg 110,149,200,222 55 172 | foodcamimages/TRAIN/20080708162106.jpg 91,125,409,292 52 173 | foodcamimages/TRAIN/20080708163519.jpg 116,150,328,259 52 174 | foodcamimages/TRAIN/20080709143900.jpg 113,159,237,209 97 175 | foodcamimages/TRAIN/20080709212951.jpg 0,0,0,0 50 176 | foodcamimages/TRAIN/20080710170121.jpg 0,0,0,0 50 177 | foodcamimages/TRAIN/20080710181303.jpg 275,171,148,183 54 178 | foodcamimages/TRAIN/20080710181317.jpg 272,171,170,160 54 179 | foodcamimages/TRAIN/20080710181653.jpg 0,0,0,0 50 180 | foodcamimages/TRAIN/20080710184127.jpg 0,0,0,0 50 181 | foodcamimages/TRAIN/20080711162733.jpg 283,164,225,218 56 182 | foodcamimages/TRAIN/200807145759.jpg 196,182,181,135 55 183 | foodcamimages/TRAIN/20080715170627.jpg 0,0,0,0 50 184 | foodcamimages/TRAIN/20080715211959.jpg 193,129,178,204 54 185 | foodcamimages/TRAIN/20080716103854.jpg 170,154,255,179 53 186 | foodcamimages/TRAIN/20080717141707.jpg 233,106,294,274 56 187 | foodcamimages/TRAIN/20080718142108.jpg 445,198,137,239 55 188 | foodcamimages/TRAIN/20080718143212.jpg 405,194,137,243 55 189 | foodcamimages/TRAIN/20080718183607.jpg 368,145,208,201 54 190 | foodcamimages/TRAIN/20080721143033.jpg 64,155,172,150 53 191 | foodcamimages/TRAIN/20080723173218.jpg 0,0,0,0 50 192 | foodcamimages/TRAIN/20080723210921.jpg 278,138,215,229 51 193 | foodcamimages/TRAIN/20080723210945.jpg 240,159,234,201 54 194 | foodcamimages/TRAIN/20080725141147.jpg 401,225,151,127 54 195 | foodcamimages/TRAIN/20080725185425.jpg 0,0,0,0 50 196 | foodcamimages/TRAIN/20080729151532.jpg 59,152,492,289 52 197 | foodcamimages/TRAIN/20080729181643.jpg 108,156,484,312 52 198 | foodcamimages/TRAIN/20080730144739.jpg 43,222,303,256 56 199 | foodcamimages/TRAIN/20080730145926.jpg 472,250,164,191 51 200 | foodcamimages/TRAIN/20080731141108.jpg 0,0,0,0 50 201 | foodcamimages/TRAIN/20080731151220.jpg 177,165,136,128 55 202 | foodcamimages/TRAIN/20080801125943.jpg 0,0,0,0 50 203 | foodcamimages/TRAIN/20080801155919.jpg 171,95,361,346 56 204 | foodcamimages/TRAIN/20080801180234.jpg 213,132,200,294 56 205 | foodcamimages/TRAIN/20080801222920.jpg 0,0,0,0 50 206 | foodcamimages/TRAIN/20080804142010.jpg 0,0,0,0 50 207 | foodcamimages/TRAIN/20080804162945.jpg 0,0,0,0 50 208 | foodcamimages/TRAIN/20080804205909.jpg 301,224,123,150 56 209 | foodcamimages/TRAIN/20080806141650.jpg 100,293,243,166 49 210 | foodcamimages/TRAIN/20080806144335.jpg 224,122,356,346 56 211 | foodcamimages/TRAIN/20080806145202.jpg 0,0,0,0 50 212 | foodcamimages/TRAIN/20080806145322.jpg 126,201,370,242 52 213 | foodcamimages/TRAIN/20080806161245.jpg 98,134,487,251 52 214 | foodcamimages/TRAIN/20080807141130.jpg 242,155,354,289 56 215 | foodcamimages/TRAIN/200808075708.jpg 473,164,142,176 51 216 | foodcamimages/TRAIN/20080811134537.jpg 299,151,127,128 51 217 | foodcamimages/TRAIN/20080811185214.jpg 210,303,171,139 53 218 | foodcamimages/TRAIN/20080812153414.jpg 340,229,133,159 51 219 | foodcamimages/TRAIN/20080812214350.jpg 173,150,195,199 56 220 | foodcamimages/TRAIN/20080813143324.jpg 0,0,0,0 50 221 | foodcamimages/TRAIN/20080814172143.jpg 399,149,163,154 51 222 | foodcamimages/TRAIN/20080815144627.jpg 114,176,249,206 49 223 | foodcamimages/TRAIN/20080815150503.jpg 0,0,0,0 50 224 | foodcamimages/TRAIN/20080815181313.jpg 35,183,220,214 49 225 | foodcamimages/TRAIN/20080819142939.jpg 355,219,154,155 51 226 | foodcamimages/TRAIN/20080820143724.jpg 20,215,108,150 51 227 | foodcamimages/TRAIN/20080820143729.jpg 193,213,163,155 55 228 | foodcamimages/TRAIN/20080822144414.jpg 0,0,0,0 50 229 | foodcamimages/TRAIN/20080825132340.jpg 0,0,0,0 50 230 | foodcamimages/TRAIN/20080827144749.jpg 0,0,0,0 50 231 | foodcamimages/TRAIN/20080828132639.jpg 49,168,470,232 54 232 | foodcamimages/TRAIN/20080828132816.jpg 189,145,197,258 54 233 | foodcamimages/TRAIN/20080828170011.jpg 100,156,214,239 49 234 | foodcamimages/TRAIN/20080828170619.jpg 133,326,153,128 49 235 | foodcamimages/TRAIN/20080828173426.jpg 61,157,194,253 54 236 | foodcamimages/TRAIN/20080828173428.jpg 247,152,149,226 54 237 | foodcamimages/TRAIN/20080828211128.jpg 108,151,216,218 49 238 | foodcamimages/TRAIN/20080829124848.jpg 178,149,285,264 54 239 | foodcamimages/TRAIN/20080903113633.jpg 270,120,201,157 54 240 | foodcamimages/TRAIN/20080903140443.jpg 40,218,109,198 55 241 | foodcamimages/TRAIN/200809035646.jpg 401,227,110,144 51 242 | foodcamimages/TRAIN/20080904094359.jpg 0,0,0,0 50 243 | foodcamimages/TRAIN/20080905215448.jpg 0,0,0,0 50 244 | foodcamimages/TRAIN/20080909175654.jpg 266,156,202,245 54 245 | foodcamimages/TRAIN/20080909184537.jpg 258,115,297,188 53 246 | foodcamimages/TRAIN/20080909202005.jpg 59,155,269,258 97 247 | foodcamimages/TRAIN/20080909205833.jpg 65,153,230,256 97 248 | foodcamimages/TRAIN/20080910191829.jpg 397,339,105,129 51 249 | foodcamimages/TRAIN/20080911140044.jpg 252,153,263,185 49 250 | foodcamimages/TRAIN/20080911150542.jpg 261,155,207,196 51 251 | foodcamimages/TRAIN/20080912122745.jpg 0,0,0,0 50 252 | foodcamimages/TRAIN/20080912123547.jpg 0,0,0,0 50 253 | foodcamimages/TRAIN/20080912151521.jpg 497,318,98,137 51 254 | foodcamimages/TRAIN/20080912151541.jpg 506,294,105,158 51 255 | foodcamimages/TRAIN/20080912152404.jpg 161,287,380,180 57 256 | foodcamimages/TRAIN/20080912170959.jpg 0,0,0,0 50 257 | foodcamimages/TRAIN/20080915141237.jpg 145,149,143,109 51 258 | foodcamimages/TRAIN/20080915231745.jpg 238,295,251,170 56 259 | foodcamimages/TRAIN/20080916130130.jpg 422,132,158,117 54 260 | foodcamimages/TRAIN/20080916154702.jpg 291,151,179,142 54 261 | foodcamimages/TRAIN/20080916191208.jpg 422,183,175,191 51 262 | foodcamimages/TRAIN/20080916191641.jpg 171,150,417,221 54 263 | foodcamimages/TRAIN/20080916191653.jpg 229,337,153,120 51 264 | foodcamimages/TRAIN/20080916212610.jpg 419,267,175,187 51 265 | foodcamimages/TRAIN/20080917115551.jpg 104,244,406,198 54 266 | foodcamimages/TRAIN/20080917115952.jpg 179,167,387,273 54 267 | foodcamimages/TRAIN/20080917153624.jpg 177,193,315,236 56 268 | foodcamimages/TRAIN/20080917154619.jpg 47,243,115,140 56 269 | foodcamimages/TRAIN/20080917163317.jpg 0,0,0,0 50 270 | foodcamimages/TRAIN/20080917172411.jpg 62,277,153,146 54 271 | foodcamimages/TRAIN/20080917184351.jpg 0,0,0,0 50 272 | foodcamimages/TRAIN/20080917231705.jpg 0,0,0,0 50 273 | foodcamimages/TRAIN/20080918140936.jpg 247,196,263,199 49 274 | foodcamimages/TRAIN/20080918150624.jpg 305,236,137,99 97 275 | foodcamimages/TRAIN/20080918150639.jpg 227,356,136,103 97 276 | foodcamimages/TRAIN/20080918152845.jpg 0,0,0,0 50 277 | foodcamimages/TRAIN/20080918155252.jpg 0,0,0,0 50 278 | foodcamimages/TRAIN/20080918182034.jpg 0,0,0,0 50 279 | foodcamimages/TRAIN/20080919132824.jpg 146,175,140,148 51 280 | foodcamimages/TRAIN/20080919143650.jpg 158,157,124,226 49 281 | foodcamimages/TRAIN/20080919144226.jpg 315,159,151,193 55 282 | foodcamimages/TRAIN/20080919144749.jpg 172,152,124,166 55 283 | foodcamimages/TRAIN/20080919154523.jpg 110,89,433,296 55 284 | foodcamimages/TRAIN/20080919171316.jpg 380,193,148,170 51 285 | foodcamimages/TRAIN/20080919184320.jpg 521,134,77,167 51 286 | foodcamimages/TRAIN/20080922160259.jpg 218,160,301,197 56 287 | foodcamimages/TRAIN/20080923133754.jpg 471,138,129,114 51 288 | foodcamimages/TRAIN/20080923191552.jpg 506,300,115,157 51 289 | foodcamimages/TRAIN/20080924124623.jpg 0,0,0,0 50 290 | foodcamimages/TRAIN/20080924124711.jpg 0,0,0,0 50 291 | foodcamimages/TRAIN/20080924140458.jpg 171,258,115,128 49 292 | foodcamimages/TRAIN/20080924140533.jpg 297,168,159,179 54 293 | foodcamimages/TRAIN/20080924174334.jpg 217,267,329,161 53 294 | foodcamimages/TRAIN/20080924174430.jpg 0,0,0,0 50 295 | foodcamimages/TRAIN/20080925131900.jpg 212,134,211,240 54 296 | foodcamimages/TRAIN/20080925132031.jpg 214,152,220,212 54 297 | foodcamimages/TRAIN/20080925135447.jpg 147,192,210,185 49 298 | foodcamimages/TRAIN/20080925140931.jpg 220,191,277,261 53 299 | foodcamimages/TRAIN/20080925141447.jpg 231,201,231,198 53 300 | foodcamimages/TRAIN/20080925201920.jpg 259,291,207,137 51 301 | foodcamimages/TRAIN/20080926115618.jpg 0,0,0,0 50 302 | foodcamimages/TRAIN/20080926150051.jpg 15,281,279,171 55 303 | foodcamimages/TRAIN/20080926170341.jpg 63,114,460,273 54 304 | foodcamimages/TRAIN/20080929180834.jpg 98,159,160,161 51 305 | foodcamimages/TRAIN/20080929214432.jpg 187,341,113,118 51 306 | foodcamimages/TRAIN/20080930191042.jpg 211,138,316,185 55 307 | foodcamimages/TRAIN/20080930212104.jpg 24,394,324,73 52 308 | foodcamimages/TRAIN/20081001143235.jpg 72,166,453,294 56 309 | foodcamimages/TRAIN/200810015241.jpg 247,161,231,220 51 310 | foodcamimages/TRAIN/200810015252.jpg 246,160,352,204 55 311 | foodcamimages/TRAIN/20081003144550.jpg 210,174,203,175 53 312 | foodcamimages/TRAIN/20081003144557.jpg 79,312,142,160 49 313 | foodcamimages/TRAIN/20081003145318.jpg 106,166,94,136 51 314 | foodcamimages/TRAIN/20081003165955.jpg 0,0,0,0 50 315 | foodcamimages/TRAIN/20081005182107.jpg 0,0,0,0 50 316 | foodcamimages/TRAIN/20081005182908.jpg 0,0,0,0 50 317 | foodcamimages/TRAIN/20081006141109.jpg 0,0,0,0 50 318 | foodcamimages/TRAIN/20081006145426.jpg 0,0,0,0 50 319 | foodcamimages/TRAIN/20081006145623.jpg 0,0,0,0 50 320 | foodcamimages/TRAIN/20081006182305.jpg 0,0,0,0 50 321 | foodcamimages/TRAIN/20081006182314.jpg 0,0,0,0 50 322 | foodcamimages/TRAIN/20081006223930.jpg 398,196,138,163 55 323 | foodcamimages/TRAIN/20081006235637.jpg 196,172,234,209 49 324 | foodcamimages/TRAIN/20081007192557.jpg 160,106,181,105 54 325 | foodcamimages/TRAIN/20081008135853.jpg 318,214,129,110 51 326 | foodcamimages/TRAIN/20081008203459.jpg 268,125,129,165 51 327 | foodcamimages/TRAIN/20081008203637.jpg 265,337,214,127 52 328 | foodcamimages/TRAIN/20081009000051.jpg 224,120,123,160 51 329 | foodcamimages/TRAIN/20081009135728.jpg 251,122,178,186 49 330 | foodcamimages/TRAIN/20081009143909.jpg 298,106,241,141 49 331 | foodcamimages/TRAIN/20081015115818.jpg 308,236,127,123 54 332 | foodcamimages/TRAIN/20081015155706.jpg 243,171,263,191 51 333 | foodcamimages/TRAIN/20081016140540.jpg 133,184,252,206 49 334 | foodcamimages/TRAIN/20081016140731.jpg 172,178,214,212 49 335 | foodcamimages/TRAIN/20081016142513.jpg 243,184,251,259 49 336 | foodcamimages/TRAIN/20081016144926.jpg 321,191,156,212 49 337 | foodcamimages/TRAIN/20081016154727.jpg 165,212,159,141 53 338 | foodcamimages/TRAIN/20081016155430.jpg 323,149,178,274 49 339 | foodcamimages/TRAIN/20081016155812.jpg 156,196,136,123 53 340 | foodcamimages/TRAIN/20081016210449.jpg 331,185,142,169 51 341 | foodcamimages/TRAIN/20081017112305.jpg 0,0,0,0 50 342 | foodcamimages/TRAIN/20081017115715.jpg 0,0,0,0 50 343 | foodcamimages/TRAIN/20081017145258.jpg 444,372,99,96 54 344 | foodcamimages/TRAIN/20081017145818.jpg 0,0,0,0 50 345 | foodcamimages/TRAIN/20081017150744.jpg 241,352,288,122 53 346 | foodcamimages/TRAIN/20081020162150.jpg 282,202,304,180 49 347 | foodcamimages/TRAIN/20081020212352.jpg 0,0,0,0 50 348 | foodcamimages/TRAIN/20081020212517.jpg 297,176,289,181 55 349 | foodcamimages/TRAIN/20081020223006.jpg 198,212,342,249 56 350 | foodcamimages/TRAIN/20081021174939.jpg 87,248,235,193 97 351 | foodcamimages/TRAIN/20081021191041.jpg 72,299,161,142 54 352 | foodcamimages/TRAIN/20081021191052.jpg 69,250,221,201 54 353 | foodcamimages/TRAIN/20081021191201.jpg 174,162,413,236 55 354 | foodcamimages/TRAIN/20081022123439.jpg 269,152,196,293 54 355 | foodcamimages/TRAIN/20081022152803.jpg 184,229,312,230 55 356 | foodcamimages/TRAIN/20081022172949.jpg 341,152,261,290 53 357 | foodcamimages/TRAIN/20081022190313.jpg 308,153,111,285 52 358 | foodcamimages/TRAIN/20081022223812.jpg 74,210,142,169 52 359 | foodcamimages/TRAIN/20081023142153.jpg 403,158,185,302 52 360 | foodcamimages/TRAIN/20081023142634.jpg 324,336,114,141 49 361 | foodcamimages/TRAIN/20081027033658.jpg 0,0,0,0 50 362 | foodcamimages/TRAIN/20081027192705.jpg 162,235,390,241 56 363 | foodcamimages/TRAIN/20081027221622.jpg 0,0,0,0 50 364 | foodcamimages/TRAIN/20081028161139.jpg 467,186,63,189 51 365 | foodcamimages/TRAIN/20081028201340.jpg 238,174,360,284 56 366 | foodcamimages/TRAIN/20081029123040.jpg 92,161,503,264 54 367 | foodcamimages/TRAIN/20081030124114.jpg 35,158,535,289 54 368 | foodcamimages/TRAIN/20081031140933.jpg 0,0,0,0 50 369 | foodcamimages/TRAIN/20081031141033.jpg 0,0,0,0 50 370 | foodcamimages/TRAIN/20081102204537.jpg 230,328,167,141 54 371 | foodcamimages/TRAIN/20081103160429.jpg 390,159,232,172 97 372 | foodcamimages/TRAIN/20081103200405.jpg 245,203,171,243 52 373 | foodcamimages/TRAIN/20081103201022.jpg 85,240,282,200 52 374 | foodcamimages/TRAIN/20081104131437.jpg 241,128,249,264 54 375 | foodcamimages/TRAIN/20081104140229.jpg 315,186,244,198 49 376 | foodcamimages/TRAIN/20081104141129.jpg 0,0,0,0 50 377 | foodcamimages/TRAIN/20081104181803.jpg 205,198,194,249 55 378 | foodcamimages/TRAIN/20081106125853.jpg 77,234,301,221 56 379 | foodcamimages/TRAIN/20081106201812.jpg 140,144,284,185 52 380 | foodcamimages/TRAIN/20081107142735.jpg 0,0,0,0 50 381 | foodcamimages/TRAIN/20081107144642.jpg 173,177,138,275 55 382 | foodcamimages/TRAIN/20081110092554.jpg 0,0,0,0 50 383 | foodcamimages/TRAIN/20081110142429.jpg 0,0,0,0 50 384 | foodcamimages/TRAIN/20081112104802.jpg 0,0,0,0 50 385 | foodcamimages/TRAIN/20081113133720.jpg 490,181,143,153 53 386 | foodcamimages/TRAIN/20081113135605.jpg 361,167,136,132 53 387 | foodcamimages/TRAIN/20081117152150.jpg 148,182,147,125 51 388 | foodcamimages/TRAIN/20081118150403.jpg 366,184,106,109 55 389 | foodcamimages/TRAIN/20081118150408.jpg 304,179,167,173 51 390 | foodcamimages/TRAIN/20081118150412.jpg 27,327,110,122 51 391 | foodcamimages/TRAIN/20081118150418.jpg 271,192,168,182 53 392 | foodcamimages/TRAIN/20081118150425.jpg 466,339,136,118 53 393 | foodcamimages/TRAIN/20081118181138.jpg 435,314,134,138 51 394 | foodcamimages/TRAIN/20081119135551.jpg 46,250,467,206 52 395 | foodcamimages/TRAIN/20081119135603.jpg 52,250,512,216 52 396 | foodcamimages/TRAIN/20081119140258.jpg 314,241,148,218 49 397 | foodcamimages/TRAIN/20081120113623.jpg 0,0,0,0 50 398 | foodcamimages/TRAIN/20081120134522.jpg 153,235,219,188 56 399 | foodcamimages/TRAIN/20081120193258.jpg 69,165,521,262 53 400 | foodcamimages/TRAIN/20081121132111.jpg 267,182,130,189 55 401 | foodcamimages/TRAIN/20081121155921.jpg 173,191,306,272 54 402 | foodcamimages/TRAIN/20081121164355.jpg 203,184,350,272 55 403 | foodcamimages/TRAIN/20081123120600.jpg 43,183,567,177 55 404 | foodcamimages/TRAIN/20081124233223.jpg 0,0,0,0 50 405 | foodcamimages/TRAIN/20081124233305.jpg 0,0,0,0 50 406 | foodcamimages/TRAIN/20081126135040.jpg 99,223,248,203 51 407 | foodcamimages/TRAIN/20081126170908.jpg 161,200,138,199 55 408 | foodcamimages/TRAIN/20081126212850.jpg 0,0,0,0 50 409 | foodcamimages/TRAIN/20081201210312.jpg 319,300,188,167 56 410 | foodcamimages/TRAIN/20081202115243.jpg 0,0,0,0 50 411 | foodcamimages/TRAIN/20081203141121.jpg 0,0,0,0 50 412 | foodcamimages/TRAIN/20081203141239.jpg 200,127,417,326 56 413 | foodcamimages/TRAIN/20081204131058.jpg 0,0,0,0 50 414 | foodcamimages/TRAIN/20081204201752.jpg 135,182,202,142 97 415 | foodcamimages/TRAIN/20081204210640.jpg 138,206,251,206 55 416 | foodcamimages/TRAIN/20081205134304.jpg 231,180,247,277 55 417 | foodcamimages/TRAIN/20081205155817.jpg 0,0,0,0 50 418 | foodcamimages/TRAIN/20081206133847.jpg 0,0,0,0 50 419 | foodcamimages/TRAIN/20081208200847.jpg 159,174,398,271 52 420 | foodcamimages/TRAIN/20081208201839.jpg 33,207,279,239 56 421 | foodcamimages/TRAIN/20081209082812.jpg 0,0,0,0 50 422 | foodcamimages/TRAIN/20081209142152.jpg 46,155,558,283 52 423 | foodcamimages/TRAIN/20081209163616.jpg 382,252,178,151 51 424 | foodcamimages/TRAIN/20081209164129.jpg 348,177,142,144 51 425 | foodcamimages/TRAIN/20081210135109.jpg 299,298,211,168 56 426 | foodcamimages/TRAIN/20081210161335.jpg 0,0,0,0 50 427 | foodcamimages/TRAIN/20081210162218.jpg 0,0,0,0 51 428 | foodcamimages/TRAIN/20081210165757.jpg 288,253,219,170 52 429 | foodcamimages/TRAIN/20081211014654.jpg 318,242,117,103 51 430 | foodcamimages/TRAIN/20081211132937.jpg 60,163,490,228 52 431 | foodcamimages/TRAIN/20081211192646.jpg 163,164,277,301 56 432 | foodcamimages/TRAIN/20081211200914.jpg 279,195,179,178 54 433 | foodcamimages/TRAIN/20081212125939.jpg 56,244,512,221 56 434 | foodcamimages/TRAIN/20081212134906.jpg 172,194,182,274 55 435 | foodcamimages/TRAIN/20081212184409.jpg 372,293,176,123 54 436 | foodcamimages/TRAIN/20081215163532.jpg 0,0,0,0 50 437 | foodcamimages/TRAIN/20081216133341.jpg 236,193,277,263 49 438 | foodcamimages/TRAIN/20081216143540.jpg 302,200,177,250 49 439 | foodcamimages/TRAIN/20081217152948.jpg 0,0,0,0 50 440 | foodcamimages/TRAIN/20081217165658.jpg 238,181,231,167 54 441 | foodcamimages/TRAIN/20081218130724.jpg 140,172,325,205 54 442 | foodcamimages/TRAIN/20081218184026.jpg 257,168,186,184 49 443 | foodcamimages/TRAIN/20081218194411.jpg 412,169,138,143 53 444 | foodcamimages/TRAIN/20081219140835.jpg 69,162,193,289 55 445 | foodcamimages/TRAIN/20081223050307.jpg 0,0,0,0 50 446 | foodcamimages/TRAIN/20081223120800.jpg 0,0,0,0 50 447 | foodcamimages/TRAIN/20081223222659.jpg 0,0,0,0 50 448 | foodcamimages/TRAIN/20081230203409.jpg 0,0,0,0 50 449 | foodcamimages/TRAIN/20081230203546.jpg 0,0,0,0 50 450 | foodcamimages/TRAIN/20081230210942.jpg 128,195,211,161 52 451 | foodcamimages/TRAIN/20081230210945.jpg 0,0,0,0 50 452 | foodcamimages/TRAIN/20081231162619.jpg 198,159,324,207 53 453 | foodcamimages/TRAIN/20090106141026.jpg 103,158,264,180 49 454 | foodcamimages/TRAIN/20090108144659.jpg 250,222,130,115 49 455 | foodcamimages/TRAIN/20090108190720.jpg 523,163,113,158 53 456 | foodcamimages/TRAIN/20090108214658.jpg 111,296,104,116 51 457 | foodcamimages/TRAIN/20090109141413.jpg 0,0,0,0 50 458 | foodcamimages/TRAIN/20090112132656.jpg 316,124,245,169 49 459 | foodcamimages/TRAIN/20090112170232.jpg 277,126,194,269 49 460 | foodcamimages/TRAIN/20090113141044.jpg 261,191,96,111 51 461 | foodcamimages/TRAIN/20090113172050.jpg 199,131,228,133 97 462 | foodcamimages/TRAIN/20090114165220.jpg 190,238,171,156 51 463 | foodcamimages/TRAIN/200901511948.jpg 280,209,251,229 49 464 | foodcamimages/TRAIN/20090115143936.jpg 194,196,336,226 53 465 | foodcamimages/TRAIN/20090115184751.jpg 26,133,455,321 52 466 | foodcamimages/TRAIN/20090115192124.jpg 0,0,0,0 50 467 | foodcamimages/TRAIN/20090116161252.jpg 149,356,58,115 51 468 | foodcamimages/TRAIN/20090120192704.jpg 111,150,322,238 52 469 | foodcamimages/TRAIN/20090121141440.jpg 273,219,204,168 55 470 | foodcamimages/TRAIN/20090122131028.jpg 172,164,160,164 55 471 | foodcamimages/TRAIN/20090122132457.jpg 299,171,150,197 51 472 | foodcamimages/TRAIN/20090122140521.jpg 295,236,183,236 55 473 | foodcamimages/TRAIN/20090122204429.jpg 141,190,175,204 54 474 | foodcamimages/TRAIN/20090122210408.jpg 294,145,117,141 51 475 | foodcamimages/TRAIN/20090123140043.jpg 0,0,0,0 50 476 | foodcamimages/TRAIN/20090123163701.jpg 232,153,127,127 55 477 | foodcamimages/TRAIN/20090126144652.jpg 42,148,552,286 55 478 | foodcamimages/TRAIN/20090126195047.jpg 175,152,283,253 53 479 | foodcamimages/TRAIN/20090127170210.jpg 134,138,110,140 51 480 | foodcamimages/TRAIN/20090128145740.jpg 0,0,0,0 50 481 | foodcamimages/TRAIN/20090129142609.jpg 116,233,204,214 49 482 | foodcamimages/TRAIN/20090129143743.jpg 299,321,176,145 49 483 | foodcamimages/TRAIN/20090129200721.jpg 110,173,157,136 53 484 | foodcamimages/TRAIN/20090130144236.jpg 459,250,147,163 56 485 | foodcamimages/TRAIN/20090130183759.jpg 195,152,309,250 54 486 | foodcamimages/TRAIN/20090202181551.jpg 208,123,295,269 56 487 | foodcamimages/TRAIN/20090204174906.jpg 0,0,0,0 50 488 | foodcamimages/TRAIN/20090205193354.jpg 0,0,0,0 50 489 | foodcamimages/TRAIN/20090206110545.jpg 0,0,0,0 50 490 | foodcamimages/TRAIN/20090209131930.jpg 351,142,210,298 49 491 | foodcamimages/TRAIN/20090210131419.jpg 253,162,271,277 54 492 | foodcamimages/TRAIN/20090210132016.jpg 308,111,321,306 54 493 | foodcamimages/TRAIN/20090210201453.jpg 201,160,290,236 52 494 | foodcamimages/TRAIN/20090210205735.jpg 151,266,213,202 53 495 | foodcamimages/TRAIN/20090211153226.jpg 200,126,272,259 52 496 | foodcamimages/TRAIN/20090212131421.jpg 139,142,346,287 55 497 | foodcamimages/TRAIN/20090212170723.jpg 298,168,130,136 54 498 | foodcamimages/TRAIN/20090212171332.jpg 188,211,333,216 53 499 | foodcamimages/TRAIN/20090213135110.jpg 171,130,363,252 55 500 | foodcamimages/TRAIN/20090213144216.jpg 78,147,164,164 53 501 | foodcamimages/TRAIN/20090217082200.jpg 0,0,0,0 50 502 | foodcamimages/TRAIN/20090219145000.jpg 139,136,196,204 53 503 | foodcamimages/TRAIN/20090219195514.jpg 520,176,82,146 51 504 | foodcamimages/TRAIN/20090220155543.jpg 81,231,368,135 54 505 | foodcamimages/TRAIN/20090224144323.jpg 403,172,163,273 55 506 | foodcamimages/TRAIN/20090224185247.jpg 177,160,313,188 55 507 | foodcamimages/TRAIN/20090225131953.jpg 0,0,0,0 50 508 | foodcamimages/TRAIN/20090225141030.jpg 202,306,224,130 53 509 | foodcamimages/TRAIN/20090225154300.jpg 56,157,493,196 55 510 | foodcamimages/TRAIN/20090225155804.jpg 278,148,188,188 49 511 | foodcamimages/TRAIN/20090225184232.jpg 345,250,109,105 51 512 | foodcamimages/TRAIN/20090225214215.jpg 0,0,0,0 50 513 | foodcamimages/TRAIN/20090226143906.jpg 0,0,0,0 50 514 | foodcamimages/TRAIN/20090226212147.jpg 0,0,0,0 50 515 | foodcamimages/TRAIN/20090227134037.jpg 0,0,0,0 50 516 | foodcamimages/TRAIN/20090302123639.jpg 440,240,146,133 51 517 | foodcamimages/TRAIN/20090302131046.jpg 45,186,159,140 51 518 | foodcamimages/TRAIN/20090302133412.jpg 46,186,130,165 51 519 | foodcamimages/TRAIN/20090304142939.jpg 211,207,308,168 50 520 | foodcamimages/TRAIN/20090304175935.jpg 104,124,268,251 53 521 | foodcamimages/TRAIN/20090304183752.jpg 0,0,0,0 50 522 | foodcamimages/TRAIN/20090305142844.jpg 303,320,136,144 53 523 | foodcamimages/TRAIN/20090305143415.jpg 331,166,176,279 51 524 | foodcamimages/TRAIN/20090305190622.jpg 217,141,254,184 52 525 | foodcamimages/TRAIN/20090305191042.jpg 397,136,186,242 52 526 | foodcamimages/TRAIN/20090306114018.jpg 301,254,89,54 54 527 | foodcamimages/TRAIN/20090306141700.jpg 55,162,512,281 55 528 | foodcamimages/TRAIN/20090309122901.jpg 252,182,128,107 52 529 | foodcamimages/TRAIN/20090309140827.jpg 213,151,132,190 49 530 | foodcamimages/TRAIN/20090309164459.jpg 41,237,100,112 51 531 | foodcamimages/TRAIN/20090309211606.jpg 422,258,180,137 54 532 | foodcamimages/TRAIN/20090309213024.jpg 0,0,0,0 50 533 | foodcamimages/TRAIN/20090310144143.jpg 113,160,369,287 55 534 | foodcamimages/TRAIN/20090310181706.jpg 137,152,232,214 53 535 | foodcamimages/TRAIN/20090310182820.jpg 0,0,0,0 50 536 | foodcamimages/TRAIN/20090311161835.jpg 0,0,0,0 50 537 | foodcamimages/TRAIN/20090311165216.jpg 125,169,304,256 52 538 | foodcamimages/TRAIN/20090311184440.jpg 270,194,144,146 49 539 | foodcamimages/TRAIN/20090312142329.jpg 158,120,461,197 52 540 | foodcamimages/TRAIN/20090312142423.jpg 158,142,458,312 52 541 | foodcamimages/TRAIN/20090312160801.jpg 176,144,164,171 51 542 | foodcamimages/TRAIN/20090312193006.jpg 212,148,309,195 52 543 | foodcamimages/TRAIN/20090313131605.jpg 134,209,333,214 54 544 | foodcamimages/TRAIN/20090313152845.jpg 202,211,159,229 55 545 | foodcamimages/TRAIN/20090313153339.jpg 45,230,130,228 51 546 | foodcamimages/TRAIN/20090313201114.jpg 28,238,125,225 51 547 | foodcamimages/TRAIN/20090316142407.jpg 92,159,137,196 51 548 | foodcamimages/TRAIN/20090319041315.jpg 138,143,187,225 53 549 | foodcamimages/TRAIN/20090319060742.jpg 155,116,458,265 53 550 | foodcamimages/TRAIN/20090319152925.jpg 260,189,146,128 55 551 | foodcamimages/TRAIN/20090319201340.jpg 166,186,181,206 49 552 | foodcamimages/TRAIN/20090319222708.jpg 189,184,182,230 49 553 | foodcamimages/TRAIN/20090320115615.jpg 0,0,0,0 50 554 | foodcamimages/TRAIN/20090320120730.jpg 0,0,0,0 50 555 | foodcamimages/TRAIN/20090320143548.jpg 351,214,163,170 49 556 | foodcamimages/TRAIN/20090320151232.jpg 82,238,346,214 55 557 | foodcamimages/TRAIN/20090320170111.jpg 32,388,546,81 54 558 | foodcamimages/TRAIN/20090324202726.jpg 238,143,239,215 97 559 | foodcamimages/TRAIN/20090325144045.jpg 181,178,298,218 53 560 | foodcamimages/TRAIN/20090325173929.jpg 288,186,142,138 51 561 | foodcamimages/TRAIN/200903265107.jpg 136,189,309,205 55 562 | foodcamimages/TRAIN/20090326183811.jpg 90,213,525,224 53 563 | foodcamimages/TRAIN/20090326200155.jpg 467,162,162,246 51 564 | foodcamimages/TRAIN/20090326231926.jpg 490,155,116,205 51 565 | foodcamimages/TRAIN/20090327135105.jpg 0,0,0,0 50 566 | foodcamimages/TRAIN/20090327140056.jpg 342,127,254,165 49 567 | foodcamimages/TRAIN/20090327153355.jpg 112,169,170,273 55 568 | foodcamimages/TRAIN/20090327181739.jpg 270,211,247,171 49 569 | foodcamimages/TRAIN/20090330211004.jpg 143,147,405,202 53 570 | foodcamimages/TRAIN/20090401145121.jpg 0,0,0,0 50 571 | foodcamimages/TRAIN/20090402201215.jpg 109,162,190,173 51 572 | foodcamimages/TRAIN/20090402201456.jpg 100,176,177,165 51 573 | foodcamimages/TRAIN/20090403141312.jpg 92,194,164,179 51 574 | foodcamimages/TRAIN/20090403142842.jpg 212,164,193,206 49 575 | foodcamimages/TRAIN/20090403165843.jpg 158,152,340,273 54 -------------------------------------------------------------------------------- /FoodcamClassifier.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 45; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 8DD76F650486A84900D96B5E /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* main.cpp */; settings = {ATTRIBUTES = (); }; }; 11 | 8DD76F6A0486A84900D96B5E /* FoodcamClassifier.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */; }; 12 | D79318151404316D00C2209B /* predict_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D79318141404316D00C2209B /* predict_common.cpp */; }; 13 | D79319E41404991200C2209B /* predict_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D79318141404316D00C2209B /* predict_common.cpp */; }; 14 | D79319E61404991200C2209B /* libopencv_core.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */; }; 15 | D79319E71404991200C2209B /* libopencv_features2d.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */; }; 16 | D79319E81404991200C2209B /* libopencv_highgui.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */; }; 17 | D79319E91404991200C2209B /* libopencv_ml.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */; }; 18 | D79319EA1404991200C2209B /* libopencv_imgproc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC039A140038A0004D115F /* libopencv_imgproc.dylib */; }; 19 | D79319EC1404991200C2209B /* FoodcamClassifier.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */; }; 20 | D79319F21404992200C2209B /* foodcam_predict.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D79319E01404990F00C2209B /* foodcam_predict.cpp */; }; 21 | D7BC00A413FEE61A004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */; }; 22 | D7BC013713FF0035004D115F /* libopencv_core.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */; }; 23 | D7BC013813FF0035004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */; }; 24 | D7BC013913FF0035004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */; }; 25 | D7BC013A13FF0035004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */; }; 26 | D7BC013C13FF0035004D115F /* FoodcamClassifier.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */; }; 27 | D7BC014213FF003F004D115F /* manual_classifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BCFFAB13FEAC04004D115F /* manual_classifier.cpp */; }; 28 | D7BC01BF13FF3F9F004D115F /* train_bovw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BC01BE13FF3F9F004D115F /* train_bovw.cpp */; }; 29 | D7BC01C413FF3FA9004D115F /* libopencv_core.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */; }; 30 | D7BC01C513FF3FA9004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */; }; 31 | D7BC01C613FF3FA9004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */; }; 32 | D7BC01C713FF3FA9004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */; }; 33 | D7BC01C913FF3FA9004D115F /* FoodcamClassifier.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */; }; 34 | D7BC01CF13FF3FB7004D115F /* train_bovw.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BC01BE13FF3F9F004D115F /* train_bovw.cpp */; }; 35 | D7BC01D213FF3FE3004D115F /* build_vocabolary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BC01D113FF3FE3004D115F /* build_vocabolary.cpp */; }; 36 | D7BC01D713FF4013004D115F /* libopencv_core.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */; }; 37 | D7BC01D813FF4013004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */; }; 38 | D7BC01D913FF4013004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */; }; 39 | D7BC01DA13FF4013004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */; }; 40 | D7BC01DC13FF4013004D115F /* FoodcamClassifier.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */; }; 41 | D7BC01E213FF4023004D115F /* build_vocabolary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BC01D113FF3FE3004D115F /* build_vocabolary.cpp */; }; 42 | D7BC01E713FF4040004D115F /* build_vocabolary.h in Sources */ = {isa = PBXBuildFile; fileRef = D7BC01D013FF3FE3004D115F /* build_vocabolary.h */; }; 43 | D7BC028914001E3D004D115F /* test_classifiers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BC028214001CA8004D115F /* test_classifiers.cpp */; }; 44 | D7BC028B14001E3D004D115F /* libopencv_core.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */; }; 45 | D7BC028C14001E3D004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */; }; 46 | D7BC028D14001E3D004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */; }; 47 | D7BC028E14001E3D004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */; }; 48 | D7BC029014001E3D004D115F /* FoodcamClassifier.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */; }; 49 | D7BC039B140038A0004D115F /* libopencv_imgproc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC039A140038A0004D115F /* libopencv_imgproc.dylib */; }; 50 | D7BC044F1401E60F004D115F /* libopencv_core.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */; }; 51 | D7BC04501401E60F004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */; }; 52 | D7BC04511401E60F004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */; }; 53 | D7BC04521401E60F004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */; }; 54 | D7BC04531401E60F004D115F /* libopencv_imgproc.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC039A140038A0004D115F /* libopencv_imgproc.dylib */; }; 55 | D7BC04551401E60F004D115F /* FoodcamClassifier.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */; }; 56 | D7BC045B1401E624004D115F /* make_test_background_image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BC044A1401E5FF004D115F /* make_test_background_image.cpp */; }; 57 | D7BC060E1402DB5C004D115F /* training_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BC060D1402DB5C004D115F /* training_common.cpp */; }; 58 | D7BC06A71402FE92004D115F /* training_common.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BC060D1402DB5C004D115F /* training_common.cpp */; }; 59 | D7BC06A91402FE92004D115F /* libopencv_core.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */; }; 60 | D7BC06AA1402FE92004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */; }; 61 | D7BC06AB1402FE92004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */; }; 62 | D7BC06AC1402FE92004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */; }; 63 | D7BC06AE1402FE92004D115F /* FoodcamClassifier.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */; }; 64 | D7BC06B41402FEA2004D115F /* train_SVM_alone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D7BC060C1402DB35004D115F /* train_SVM_alone.cpp */; }; 65 | D7BCFF1313FE37FD004D115F /* libopencv_core.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */; }; 66 | D7BCFF1813FE3812004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */; }; 67 | D7BCFF1D13FE3820004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */; }; 68 | /* End PBXBuildFile section */ 69 | 70 | /* Begin PBXCopyFilesBuildPhase section */ 71 | 8DD76F690486A84900D96B5E /* CopyFiles */ = { 72 | isa = PBXCopyFilesBuildPhase; 73 | buildActionMask = 8; 74 | dstPath = /usr/share/man/man1/; 75 | dstSubfolderSpec = 0; 76 | files = ( 77 | 8DD76F6A0486A84900D96B5E /* FoodcamClassifier.1 in CopyFiles */, 78 | ); 79 | runOnlyForDeploymentPostprocessing = 1; 80 | }; 81 | D79319EB1404991200C2209B /* CopyFiles */ = { 82 | isa = PBXCopyFilesBuildPhase; 83 | buildActionMask = 8; 84 | dstPath = /usr/share/man/man1/; 85 | dstSubfolderSpec = 0; 86 | files = ( 87 | D79319EC1404991200C2209B /* FoodcamClassifier.1 in CopyFiles */, 88 | ); 89 | runOnlyForDeploymentPostprocessing = 1; 90 | }; 91 | D7BC013B13FF0035004D115F /* CopyFiles */ = { 92 | isa = PBXCopyFilesBuildPhase; 93 | buildActionMask = 8; 94 | dstPath = /usr/share/man/man1/; 95 | dstSubfolderSpec = 0; 96 | files = ( 97 | D7BC013C13FF0035004D115F /* FoodcamClassifier.1 in CopyFiles */, 98 | ); 99 | runOnlyForDeploymentPostprocessing = 1; 100 | }; 101 | D7BC01C813FF3FA9004D115F /* CopyFiles */ = { 102 | isa = PBXCopyFilesBuildPhase; 103 | buildActionMask = 8; 104 | dstPath = /usr/share/man/man1/; 105 | dstSubfolderSpec = 0; 106 | files = ( 107 | D7BC01C913FF3FA9004D115F /* FoodcamClassifier.1 in CopyFiles */, 108 | ); 109 | runOnlyForDeploymentPostprocessing = 1; 110 | }; 111 | D7BC01DB13FF4013004D115F /* CopyFiles */ = { 112 | isa = PBXCopyFilesBuildPhase; 113 | buildActionMask = 8; 114 | dstPath = /usr/share/man/man1/; 115 | dstSubfolderSpec = 0; 116 | files = ( 117 | D7BC01DC13FF4013004D115F /* FoodcamClassifier.1 in CopyFiles */, 118 | ); 119 | runOnlyForDeploymentPostprocessing = 1; 120 | }; 121 | D7BC028F14001E3D004D115F /* CopyFiles */ = { 122 | isa = PBXCopyFilesBuildPhase; 123 | buildActionMask = 8; 124 | dstPath = /usr/share/man/man1/; 125 | dstSubfolderSpec = 0; 126 | files = ( 127 | D7BC029014001E3D004D115F /* FoodcamClassifier.1 in CopyFiles */, 128 | ); 129 | runOnlyForDeploymentPostprocessing = 1; 130 | }; 131 | D7BC04541401E60F004D115F /* CopyFiles */ = { 132 | isa = PBXCopyFilesBuildPhase; 133 | buildActionMask = 8; 134 | dstPath = /usr/share/man/man1/; 135 | dstSubfolderSpec = 0; 136 | files = ( 137 | D7BC04551401E60F004D115F /* FoodcamClassifier.1 in CopyFiles */, 138 | ); 139 | runOnlyForDeploymentPostprocessing = 1; 140 | }; 141 | D7BC06AD1402FE92004D115F /* CopyFiles */ = { 142 | isa = PBXCopyFilesBuildPhase; 143 | buildActionMask = 8; 144 | dstPath = /usr/share/man/man1/; 145 | dstSubfolderSpec = 0; 146 | files = ( 147 | D7BC06AE1402FE92004D115F /* FoodcamClassifier.1 in CopyFiles */, 148 | ); 149 | runOnlyForDeploymentPostprocessing = 1; 150 | }; 151 | /* End PBXCopyFilesBuildPhase section */ 152 | 153 | /* Begin PBXFileReference section */ 154 | 08FB7796FE84155DC02AAC07 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; 155 | 8DD76F6C0486A84900D96B5E /* FoodcamClassifier */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = FoodcamClassifier; sourceTree = BUILT_PRODUCTS_DIR; }; 156 | C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = FoodcamClassifier.1; sourceTree = ""; }; 157 | D79318131404316D00C2209B /* predict_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = predict_common.h; sourceTree = ""; }; 158 | D79318141404316D00C2209B /* predict_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = predict_common.cpp; sourceTree = ""; }; 159 | D79319E01404990F00C2209B /* foodcam_predict.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = foodcam_predict.cpp; sourceTree = ""; }; 160 | D79319F01404991200C2209B /* FoodcamClassifier */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = FoodcamClassifier; sourceTree = BUILT_PRODUCTS_DIR; }; 161 | D7931A181404A0EA00C2209B /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; }; 162 | D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopencv_ml.2.3.1.dylib; path = usr/local/lib/libopencv_ml.2.3.1.dylib; sourceTree = SDKROOT; }; 163 | D7BC014013FF0035004D115F /* FoodcamClassifier */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = FoodcamClassifier; sourceTree = BUILT_PRODUCTS_DIR; }; 164 | D7BC01BD13FF3F9F004D115F /* train_bovw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = train_bovw.h; sourceTree = ""; }; 165 | D7BC01BE13FF3F9F004D115F /* train_bovw.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = train_bovw.cpp; sourceTree = ""; }; 166 | D7BC01CD13FF3FA9004D115F /* FoodcamClassifier */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = FoodcamClassifier; sourceTree = BUILT_PRODUCTS_DIR; }; 167 | D7BC01D013FF3FE3004D115F /* build_vocabolary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = build_vocabolary.h; sourceTree = ""; }; 168 | D7BC01D113FF3FE3004D115F /* build_vocabolary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = build_vocabolary.cpp; sourceTree = ""; }; 169 | D7BC01E013FF4013004D115F /* FoodcamClassifier */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = FoodcamClassifier; sourceTree = BUILT_PRODUCTS_DIR; }; 170 | D7BC020713FF6AD6004D115F /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = ""; }; 171 | D7BC020D13FF7902004D115F /* kmeans_trainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kmeans_trainer.h; sourceTree = ""; }; 172 | D7BC020E13FF7902004D115F /* kmeans_trainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = kmeans_trainer.cpp; sourceTree = ""; }; 173 | D7BC02691400182B004D115F /* training.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = training.txt; sourceTree = ""; }; 174 | D7BC028114001CA8004D115F /* test_classifiers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = test_classifiers.h; sourceTree = ""; }; 175 | D7BC028214001CA8004D115F /* test_classifiers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = test_classifiers.cpp; sourceTree = ""; }; 176 | D7BC029414001E3D004D115F /* FoodcamClassifier */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = FoodcamClassifier; sourceTree = BUILT_PRODUCTS_DIR; }; 177 | D7BC039A140038A0004D115F /* libopencv_imgproc.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopencv_imgproc.dylib; path = usr/local/lib/libopencv_imgproc.dylib; sourceTree = SDKROOT; }; 178 | D7BC04491401E5FF004D115F /* make_test_background_image.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = make_test_background_image.h; sourceTree = ""; }; 179 | D7BC044A1401E5FF004D115F /* make_test_background_image.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = make_test_background_image.cpp; sourceTree = ""; }; 180 | D7BC04591401E60F004D115F /* FoodcamClassifier */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = FoodcamClassifier; sourceTree = BUILT_PRODUCTS_DIR; }; 181 | D7BC060C1402DB35004D115F /* train_SVM_alone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = train_SVM_alone.cpp; sourceTree = ""; }; 182 | D7BC060D1402DB5C004D115F /* training_common.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = training_common.cpp; sourceTree = ""; }; 183 | D7BC06B21402FE92004D115F /* FoodcamClassifier */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = FoodcamClassifier; sourceTree = BUILT_PRODUCTS_DIR; }; 184 | D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopencv_core.2.3.1.dylib; path = usr/local/lib/libopencv_core.2.3.1.dylib; sourceTree = SDKROOT; }; 185 | D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopencv_features2d.2.3.1.dylib; path = usr/local/lib/libopencv_features2d.2.3.1.dylib; sourceTree = SDKROOT; }; 186 | D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libopencv_highgui.2.3.1.dylib; path = usr/local/lib/libopencv_highgui.2.3.1.dylib; sourceTree = SDKROOT; }; 187 | D7BCFFAB13FEAC04004D115F /* manual_classifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = manual_classifier.cpp; sourceTree = ""; }; 188 | /* End PBXFileReference section */ 189 | 190 | /* Begin PBXFrameworksBuildPhase section */ 191 | 8DD76F660486A84900D96B5E /* Frameworks */ = { 192 | isa = PBXFrameworksBuildPhase; 193 | buildActionMask = 2147483647; 194 | files = ( 195 | D7BCFF1313FE37FD004D115F /* libopencv_core.2.3.1.dylib in Frameworks */, 196 | D7BCFF1813FE3812004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */, 197 | D7BCFF1D13FE3820004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */, 198 | D7BC00A413FEE61A004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */, 199 | ); 200 | runOnlyForDeploymentPostprocessing = 0; 201 | }; 202 | D79319E51404991200C2209B /* Frameworks */ = { 203 | isa = PBXFrameworksBuildPhase; 204 | buildActionMask = 2147483647; 205 | files = ( 206 | D79319E61404991200C2209B /* libopencv_core.2.3.1.dylib in Frameworks */, 207 | D79319E71404991200C2209B /* libopencv_features2d.2.3.1.dylib in Frameworks */, 208 | D79319E81404991200C2209B /* libopencv_highgui.2.3.1.dylib in Frameworks */, 209 | D79319E91404991200C2209B /* libopencv_ml.2.3.1.dylib in Frameworks */, 210 | D79319EA1404991200C2209B /* libopencv_imgproc.dylib in Frameworks */, 211 | ); 212 | runOnlyForDeploymentPostprocessing = 0; 213 | }; 214 | D7BC013613FF0035004D115F /* Frameworks */ = { 215 | isa = PBXFrameworksBuildPhase; 216 | buildActionMask = 2147483647; 217 | files = ( 218 | D7BC013713FF0035004D115F /* libopencv_core.2.3.1.dylib in Frameworks */, 219 | D7BC013813FF0035004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */, 220 | D7BC013913FF0035004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */, 221 | D7BC013A13FF0035004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */, 222 | ); 223 | runOnlyForDeploymentPostprocessing = 0; 224 | }; 225 | D7BC01C313FF3FA9004D115F /* Frameworks */ = { 226 | isa = PBXFrameworksBuildPhase; 227 | buildActionMask = 2147483647; 228 | files = ( 229 | D7BC01C413FF3FA9004D115F /* libopencv_core.2.3.1.dylib in Frameworks */, 230 | D7BC01C513FF3FA9004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */, 231 | D7BC01C613FF3FA9004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */, 232 | D7BC01C713FF3FA9004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */, 233 | ); 234 | runOnlyForDeploymentPostprocessing = 0; 235 | }; 236 | D7BC01D613FF4013004D115F /* Frameworks */ = { 237 | isa = PBXFrameworksBuildPhase; 238 | buildActionMask = 2147483647; 239 | files = ( 240 | D7BC01D713FF4013004D115F /* libopencv_core.2.3.1.dylib in Frameworks */, 241 | D7BC01D813FF4013004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */, 242 | D7BC01D913FF4013004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */, 243 | D7BC01DA13FF4013004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */, 244 | ); 245 | runOnlyForDeploymentPostprocessing = 0; 246 | }; 247 | D7BC028A14001E3D004D115F /* Frameworks */ = { 248 | isa = PBXFrameworksBuildPhase; 249 | buildActionMask = 2147483647; 250 | files = ( 251 | D7BC028B14001E3D004D115F /* libopencv_core.2.3.1.dylib in Frameworks */, 252 | D7BC028C14001E3D004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */, 253 | D7BC028D14001E3D004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */, 254 | D7BC028E14001E3D004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */, 255 | D7BC039B140038A0004D115F /* libopencv_imgproc.dylib in Frameworks */, 256 | ); 257 | runOnlyForDeploymentPostprocessing = 0; 258 | }; 259 | D7BC044E1401E60F004D115F /* Frameworks */ = { 260 | isa = PBXFrameworksBuildPhase; 261 | buildActionMask = 2147483647; 262 | files = ( 263 | D7BC044F1401E60F004D115F /* libopencv_core.2.3.1.dylib in Frameworks */, 264 | D7BC04501401E60F004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */, 265 | D7BC04511401E60F004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */, 266 | D7BC04521401E60F004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */, 267 | D7BC04531401E60F004D115F /* libopencv_imgproc.dylib in Frameworks */, 268 | ); 269 | runOnlyForDeploymentPostprocessing = 0; 270 | }; 271 | D7BC06A81402FE92004D115F /* Frameworks */ = { 272 | isa = PBXFrameworksBuildPhase; 273 | buildActionMask = 2147483647; 274 | files = ( 275 | D7BC06A91402FE92004D115F /* libopencv_core.2.3.1.dylib in Frameworks */, 276 | D7BC06AA1402FE92004D115F /* libopencv_features2d.2.3.1.dylib in Frameworks */, 277 | D7BC06AB1402FE92004D115F /* libopencv_highgui.2.3.1.dylib in Frameworks */, 278 | D7BC06AC1402FE92004D115F /* libopencv_ml.2.3.1.dylib in Frameworks */, 279 | ); 280 | runOnlyForDeploymentPostprocessing = 0; 281 | }; 282 | /* End PBXFrameworksBuildPhase section */ 283 | 284 | /* Begin PBXGroup section */ 285 | 08FB7794FE84155DC02AAC07 /* FoodcamClassifier */ = { 286 | isa = PBXGroup; 287 | children = ( 288 | 08FB7795FE84155DC02AAC07 /* Source */, 289 | C6859E8C029090F304C91782 /* Documentation */, 290 | 1AB674ADFE9D54B511CA2CBB /* Products */, 291 | D7BCFF1213FE37FD004D115F /* libopencv_core.2.3.1.dylib */, 292 | D7BCFF1713FE3812004D115F /* libopencv_features2d.2.3.1.dylib */, 293 | D7BCFF1C13FE3820004D115F /* libopencv_highgui.2.3.1.dylib */, 294 | D7BC00A313FEE61A004D115F /* libopencv_ml.2.3.1.dylib */, 295 | D7BC039A140038A0004D115F /* libopencv_imgproc.dylib */, 296 | ); 297 | name = FoodcamClassifier; 298 | sourceTree = ""; 299 | }; 300 | 08FB7795FE84155DC02AAC07 /* Source */ = { 301 | isa = PBXGroup; 302 | children = ( 303 | D7931A181404A0EA00C2209B /* README */, 304 | D7BC060C1402DB35004D115F /* train_SVM_alone.cpp */, 305 | D7BC02691400182B004D115F /* training.txt */, 306 | 08FB7796FE84155DC02AAC07 /* main.cpp */, 307 | D7BCFFAB13FEAC04004D115F /* manual_classifier.cpp */, 308 | D7BC01BD13FF3F9F004D115F /* train_bovw.h */, 309 | D7BC01BE13FF3F9F004D115F /* train_bovw.cpp */, 310 | D7BC01D013FF3FE3004D115F /* build_vocabolary.h */, 311 | D7BC01D113FF3FE3004D115F /* build_vocabolary.cpp */, 312 | D7BC020713FF6AD6004D115F /* CMakeLists.txt */, 313 | D7BC020D13FF7902004D115F /* kmeans_trainer.h */, 314 | D7BC020E13FF7902004D115F /* kmeans_trainer.cpp */, 315 | D7BC028114001CA8004D115F /* test_classifiers.h */, 316 | D7BC028214001CA8004D115F /* test_classifiers.cpp */, 317 | D7BC04491401E5FF004D115F /* make_test_background_image.h */, 318 | D7BC044A1401E5FF004D115F /* make_test_background_image.cpp */, 319 | D7BC060D1402DB5C004D115F /* training_common.cpp */, 320 | D79318131404316D00C2209B /* predict_common.h */, 321 | D79318141404316D00C2209B /* predict_common.cpp */, 322 | D79319E01404990F00C2209B /* foodcam_predict.cpp */, 323 | ); 324 | name = Source; 325 | sourceTree = ""; 326 | }; 327 | 1AB674ADFE9D54B511CA2CBB /* Products */ = { 328 | isa = PBXGroup; 329 | children = ( 330 | 8DD76F6C0486A84900D96B5E /* FoodcamClassifier */, 331 | D7BC014013FF0035004D115F /* FoodcamClassifier */, 332 | D7BC01CD13FF3FA9004D115F /* FoodcamClassifier */, 333 | D7BC01E013FF4013004D115F /* FoodcamClassifier */, 334 | D7BC029414001E3D004D115F /* FoodcamClassifier */, 335 | D7BC04591401E60F004D115F /* FoodcamClassifier */, 336 | D7BC06B21402FE92004D115F /* FoodcamClassifier */, 337 | D79319F01404991200C2209B /* FoodcamClassifier */, 338 | ); 339 | name = Products; 340 | sourceTree = ""; 341 | }; 342 | C6859E8C029090F304C91782 /* Documentation */ = { 343 | isa = PBXGroup; 344 | children = ( 345 | C6859E8B029090EE04C91782 /* FoodcamClassifier.1 */, 346 | ); 347 | name = Documentation; 348 | sourceTree = ""; 349 | }; 350 | /* End PBXGroup section */ 351 | 352 | /* Begin PBXNativeTarget section */ 353 | 8DD76F620486A84900D96B5E /* FoodcamClassifier */ = { 354 | isa = PBXNativeTarget; 355 | buildConfigurationList = 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "FoodcamClassifier" */; 356 | buildPhases = ( 357 | 8DD76F640486A84900D96B5E /* Sources */, 358 | 8DD76F660486A84900D96B5E /* Frameworks */, 359 | 8DD76F690486A84900D96B5E /* CopyFiles */, 360 | ); 361 | buildRules = ( 362 | ); 363 | dependencies = ( 364 | ); 365 | name = FoodcamClassifier; 366 | productInstallPath = "$(HOME)/bin"; 367 | productName = FoodcamClassifier; 368 | productReference = 8DD76F6C0486A84900D96B5E /* FoodcamClassifier */; 369 | productType = "com.apple.product-type.tool"; 370 | }; 371 | D79319E11404991200C2209B /* foodcam-predict */ = { 372 | isa = PBXNativeTarget; 373 | buildConfigurationList = D79319ED1404991200C2209B /* Build configuration list for PBXNativeTarget "foodcam-predict" */; 374 | buildPhases = ( 375 | D79319E21404991200C2209B /* Sources */, 376 | D79319E51404991200C2209B /* Frameworks */, 377 | D79319EB1404991200C2209B /* CopyFiles */, 378 | ); 379 | buildRules = ( 380 | ); 381 | dependencies = ( 382 | ); 383 | name = "foodcam-predict"; 384 | productInstallPath = "$(HOME)/bin"; 385 | productName = FoodcamClassifier; 386 | productReference = D79319F01404991200C2209B /* FoodcamClassifier */; 387 | productType = "com.apple.product-type.tool"; 388 | }; 389 | D7BC013313FF0035004D115F /* manual-classifier */ = { 390 | isa = PBXNativeTarget; 391 | buildConfigurationList = D7BC013D13FF0035004D115F /* Build configuration list for PBXNativeTarget "manual-classifier" */; 392 | buildPhases = ( 393 | D7BC013413FF0035004D115F /* Sources */, 394 | D7BC013613FF0035004D115F /* Frameworks */, 395 | D7BC013B13FF0035004D115F /* CopyFiles */, 396 | ); 397 | buildRules = ( 398 | ); 399 | dependencies = ( 400 | ); 401 | name = "manual-classifier"; 402 | productInstallPath = "$(HOME)/bin"; 403 | productName = FoodcamClassifier; 404 | productReference = D7BC014013FF0035004D115F /* FoodcamClassifier */; 405 | productType = "com.apple.product-type.tool"; 406 | }; 407 | D7BC01C013FF3FA9004D115F /* train-bovw */ = { 408 | isa = PBXNativeTarget; 409 | buildConfigurationList = D7BC01CA13FF3FA9004D115F /* Build configuration list for PBXNativeTarget "train-bovw" */; 410 | buildPhases = ( 411 | D7BC01C113FF3FA9004D115F /* Sources */, 412 | D7BC01C313FF3FA9004D115F /* Frameworks */, 413 | D7BC01C813FF3FA9004D115F /* CopyFiles */, 414 | ); 415 | buildRules = ( 416 | ); 417 | dependencies = ( 418 | ); 419 | name = "train-bovw"; 420 | productInstallPath = "$(HOME)/bin"; 421 | productName = FoodcamClassifier; 422 | productReference = D7BC01CD13FF3FA9004D115F /* FoodcamClassifier */; 423 | productType = "com.apple.product-type.tool"; 424 | }; 425 | D7BC01D313FF4013004D115F /* build-vocabulary */ = { 426 | isa = PBXNativeTarget; 427 | buildConfigurationList = D7BC01DD13FF4013004D115F /* Build configuration list for PBXNativeTarget "build-vocabulary" */; 428 | buildPhases = ( 429 | D7BC01D413FF4013004D115F /* Sources */, 430 | D7BC01D613FF4013004D115F /* Frameworks */, 431 | D7BC01DB13FF4013004D115F /* CopyFiles */, 432 | ); 433 | buildRules = ( 434 | ); 435 | dependencies = ( 436 | ); 437 | name = "build-vocabulary"; 438 | productInstallPath = "$(HOME)/bin"; 439 | productName = FoodcamClassifier; 440 | productReference = D7BC01E013FF4013004D115F /* FoodcamClassifier */; 441 | productType = "com.apple.product-type.tool"; 442 | }; 443 | D7BC028414001E3D004D115F /* test-classifiers */ = { 444 | isa = PBXNativeTarget; 445 | buildConfigurationList = D7BC029114001E3D004D115F /* Build configuration list for PBXNativeTarget "test-classifiers" */; 446 | buildPhases = ( 447 | D7BC028514001E3D004D115F /* Sources */, 448 | D7BC028A14001E3D004D115F /* Frameworks */, 449 | D7BC028F14001E3D004D115F /* CopyFiles */, 450 | ); 451 | buildRules = ( 452 | ); 453 | dependencies = ( 454 | ); 455 | name = "test-classifiers"; 456 | productInstallPath = "$(HOME)/bin"; 457 | productName = FoodcamClassifier; 458 | productReference = D7BC029414001E3D004D115F /* FoodcamClassifier */; 459 | productType = "com.apple.product-type.tool"; 460 | }; 461 | D7BC044B1401E60F004D115F /* make-background */ = { 462 | isa = PBXNativeTarget; 463 | buildConfigurationList = D7BC04561401E60F004D115F /* Build configuration list for PBXNativeTarget "make-background" */; 464 | buildPhases = ( 465 | D7BC044C1401E60F004D115F /* Sources */, 466 | D7BC044E1401E60F004D115F /* Frameworks */, 467 | D7BC04541401E60F004D115F /* CopyFiles */, 468 | ); 469 | buildRules = ( 470 | ); 471 | dependencies = ( 472 | ); 473 | name = "make-background"; 474 | productInstallPath = "$(HOME)/bin"; 475 | productName = FoodcamClassifier; 476 | productReference = D7BC04591401E60F004D115F /* FoodcamClassifier */; 477 | productType = "com.apple.product-type.tool"; 478 | }; 479 | D7BC06A41402FE92004D115F /* train-SVM-alone */ = { 480 | isa = PBXNativeTarget; 481 | buildConfigurationList = D7BC06AF1402FE92004D115F /* Build configuration list for PBXNativeTarget "train-SVM-alone" */; 482 | buildPhases = ( 483 | D7BC06A51402FE92004D115F /* Sources */, 484 | D7BC06A81402FE92004D115F /* Frameworks */, 485 | D7BC06AD1402FE92004D115F /* CopyFiles */, 486 | ); 487 | buildRules = ( 488 | ); 489 | dependencies = ( 490 | ); 491 | name = "train-SVM-alone"; 492 | productInstallPath = "$(HOME)/bin"; 493 | productName = FoodcamClassifier; 494 | productReference = D7BC06B21402FE92004D115F /* FoodcamClassifier */; 495 | productType = "com.apple.product-type.tool"; 496 | }; 497 | /* End PBXNativeTarget section */ 498 | 499 | /* Begin PBXProject section */ 500 | 08FB7793FE84155DC02AAC07 /* Project object */ = { 501 | isa = PBXProject; 502 | buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "FoodcamClassifier" */; 503 | compatibilityVersion = "Xcode 3.1"; 504 | developmentRegion = English; 505 | hasScannedForEncodings = 1; 506 | knownRegions = ( 507 | English, 508 | Japanese, 509 | French, 510 | German, 511 | ); 512 | mainGroup = 08FB7794FE84155DC02AAC07 /* FoodcamClassifier */; 513 | projectDirPath = ""; 514 | projectRoot = ""; 515 | targets = ( 516 | 8DD76F620486A84900D96B5E /* FoodcamClassifier */, 517 | D7BC013313FF0035004D115F /* manual-classifier */, 518 | D7BC01C013FF3FA9004D115F /* train-bovw */, 519 | D7BC01D313FF4013004D115F /* build-vocabulary */, 520 | D7BC028414001E3D004D115F /* test-classifiers */, 521 | D7BC044B1401E60F004D115F /* make-background */, 522 | D7BC06A41402FE92004D115F /* train-SVM-alone */, 523 | D79319E11404991200C2209B /* foodcam-predict */, 524 | ); 525 | }; 526 | /* End PBXProject section */ 527 | 528 | /* Begin PBXSourcesBuildPhase section */ 529 | 8DD76F640486A84900D96B5E /* Sources */ = { 530 | isa = PBXSourcesBuildPhase; 531 | buildActionMask = 2147483647; 532 | files = ( 533 | 8DD76F650486A84900D96B5E /* main.cpp in Sources */, 534 | D7BC01BF13FF3F9F004D115F /* train_bovw.cpp in Sources */, 535 | D7BC01D213FF3FE3004D115F /* build_vocabolary.cpp in Sources */, 536 | ); 537 | runOnlyForDeploymentPostprocessing = 0; 538 | }; 539 | D79319E21404991200C2209B /* Sources */ = { 540 | isa = PBXSourcesBuildPhase; 541 | buildActionMask = 2147483647; 542 | files = ( 543 | D79319F21404992200C2209B /* foodcam_predict.cpp in Sources */, 544 | D79319E41404991200C2209B /* predict_common.cpp in Sources */, 545 | ); 546 | runOnlyForDeploymentPostprocessing = 0; 547 | }; 548 | D7BC013413FF0035004D115F /* Sources */ = { 549 | isa = PBXSourcesBuildPhase; 550 | buildActionMask = 2147483647; 551 | files = ( 552 | D7BC014213FF003F004D115F /* manual_classifier.cpp in Sources */, 553 | ); 554 | runOnlyForDeploymentPostprocessing = 0; 555 | }; 556 | D7BC01C113FF3FA9004D115F /* Sources */ = { 557 | isa = PBXSourcesBuildPhase; 558 | buildActionMask = 2147483647; 559 | files = ( 560 | D7BC01CF13FF3FB7004D115F /* train_bovw.cpp in Sources */, 561 | D7BC060E1402DB5C004D115F /* training_common.cpp in Sources */, 562 | ); 563 | runOnlyForDeploymentPostprocessing = 0; 564 | }; 565 | D7BC01D413FF4013004D115F /* Sources */ = { 566 | isa = PBXSourcesBuildPhase; 567 | buildActionMask = 2147483647; 568 | files = ( 569 | D7BC01E713FF4040004D115F /* build_vocabolary.h in Sources */, 570 | D7BC01E213FF4023004D115F /* build_vocabolary.cpp in Sources */, 571 | ); 572 | runOnlyForDeploymentPostprocessing = 0; 573 | }; 574 | D7BC028514001E3D004D115F /* Sources */ = { 575 | isa = PBXSourcesBuildPhase; 576 | buildActionMask = 2147483647; 577 | files = ( 578 | D7BC028914001E3D004D115F /* test_classifiers.cpp in Sources */, 579 | D79318151404316D00C2209B /* predict_common.cpp in Sources */, 580 | ); 581 | runOnlyForDeploymentPostprocessing = 0; 582 | }; 583 | D7BC044C1401E60F004D115F /* Sources */ = { 584 | isa = PBXSourcesBuildPhase; 585 | buildActionMask = 2147483647; 586 | files = ( 587 | D7BC045B1401E624004D115F /* make_test_background_image.cpp in Sources */, 588 | ); 589 | runOnlyForDeploymentPostprocessing = 0; 590 | }; 591 | D7BC06A51402FE92004D115F /* Sources */ = { 592 | isa = PBXSourcesBuildPhase; 593 | buildActionMask = 2147483647; 594 | files = ( 595 | D7BC06B41402FEA2004D115F /* train_SVM_alone.cpp in Sources */, 596 | D7BC06A71402FE92004D115F /* training_common.cpp in Sources */, 597 | ); 598 | runOnlyForDeploymentPostprocessing = 0; 599 | }; 600 | /* End PBXSourcesBuildPhase section */ 601 | 602 | /* Begin XCBuildConfiguration section */ 603 | 1DEB923208733DC60010E9CD /* Debug */ = { 604 | isa = XCBuildConfiguration; 605 | buildSettings = { 606 | ALWAYS_SEARCH_USER_PATHS = NO; 607 | COPY_PHASE_STRIP = NO; 608 | GCC_DYNAMIC_NO_PIC = NO; 609 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 610 | GCC_MODEL_TUNING = G5; 611 | GCC_OPTIMIZATION_LEVEL = 0; 612 | INSTALL_PATH = /usr/local/bin; 613 | LIBRARY_SEARCH_PATHS = ( 614 | "$(inherited)", 615 | "\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\"", 616 | ); 617 | PRODUCT_NAME = FoodcamClassifier; 618 | }; 619 | name = Debug; 620 | }; 621 | 1DEB923308733DC60010E9CD /* Release */ = { 622 | isa = XCBuildConfiguration; 623 | buildSettings = { 624 | ALWAYS_SEARCH_USER_PATHS = NO; 625 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 626 | GCC_MODEL_TUNING = G5; 627 | INSTALL_PATH = /usr/local/bin; 628 | LIBRARY_SEARCH_PATHS = ( 629 | "$(inherited)", 630 | "\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\"", 631 | ); 632 | PRODUCT_NAME = FoodcamClassifier; 633 | }; 634 | name = Release; 635 | }; 636 | 1DEB923608733DC60010E9CD /* Debug */ = { 637 | isa = XCBuildConfiguration; 638 | buildSettings = { 639 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 640 | ENABLE_OPENMP_SUPPORT = YES; 641 | GCC_C_LANGUAGE_STANDARD = gnu99; 642 | GCC_OPTIMIZATION_LEVEL = 0; 643 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 644 | GCC_WARN_UNUSED_VARIABLE = YES; 645 | HEADER_SEARCH_PATHS = /usr/local/include; 646 | ONLY_ACTIVE_ARCH = YES; 647 | PREBINDING = NO; 648 | SDKROOT = macosx10.6; 649 | }; 650 | name = Debug; 651 | }; 652 | 1DEB923708733DC60010E9CD /* Release */ = { 653 | isa = XCBuildConfiguration; 654 | buildSettings = { 655 | ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 656 | GCC_C_LANGUAGE_STANDARD = gnu99; 657 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 658 | GCC_WARN_UNUSED_VARIABLE = YES; 659 | PREBINDING = NO; 660 | SDKROOT = macosx10.6; 661 | }; 662 | name = Release; 663 | }; 664 | D79319EE1404991200C2209B /* Debug */ = { 665 | isa = XCBuildConfiguration; 666 | buildSettings = { 667 | ALWAYS_SEARCH_USER_PATHS = NO; 668 | COPY_PHASE_STRIP = NO; 669 | GCC_DYNAMIC_NO_PIC = NO; 670 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 671 | GCC_MODEL_TUNING = G5; 672 | GCC_OPTIMIZATION_LEVEL = 0; 673 | INSTALL_PATH = /usr/local/bin; 674 | LIBRARY_SEARCH_PATHS = ( 675 | "$(inherited)", 676 | "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"", 677 | ); 678 | PRODUCT_NAME = FoodcamClassifier; 679 | }; 680 | name = Debug; 681 | }; 682 | D79319EF1404991200C2209B /* Release */ = { 683 | isa = XCBuildConfiguration; 684 | buildSettings = { 685 | ALWAYS_SEARCH_USER_PATHS = NO; 686 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 687 | GCC_MODEL_TUNING = G5; 688 | INSTALL_PATH = /usr/local/bin; 689 | LIBRARY_SEARCH_PATHS = ( 690 | "$(inherited)", 691 | "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"", 692 | ); 693 | PRODUCT_NAME = FoodcamClassifier; 694 | }; 695 | name = Release; 696 | }; 697 | D7BC013E13FF0035004D115F /* Debug */ = { 698 | isa = XCBuildConfiguration; 699 | buildSettings = { 700 | ALWAYS_SEARCH_USER_PATHS = NO; 701 | COPY_PHASE_STRIP = NO; 702 | GCC_DYNAMIC_NO_PIC = NO; 703 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 704 | GCC_MODEL_TUNING = G5; 705 | GCC_OPTIMIZATION_LEVEL = 0; 706 | INSTALL_PATH = /usr/local/bin; 707 | LIBRARY_SEARCH_PATHS = ( 708 | "$(inherited)", 709 | "\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\"", 710 | ); 711 | PRODUCT_NAME = FoodcamClassifier; 712 | }; 713 | name = Debug; 714 | }; 715 | D7BC013F13FF0035004D115F /* Release */ = { 716 | isa = XCBuildConfiguration; 717 | buildSettings = { 718 | ALWAYS_SEARCH_USER_PATHS = NO; 719 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 720 | GCC_MODEL_TUNING = G5; 721 | INSTALL_PATH = /usr/local/bin; 722 | LIBRARY_SEARCH_PATHS = ( 723 | "$(inherited)", 724 | "\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\"", 725 | ); 726 | PRODUCT_NAME = FoodcamClassifier; 727 | }; 728 | name = Release; 729 | }; 730 | D7BC01CB13FF3FA9004D115F /* Debug */ = { 731 | isa = XCBuildConfiguration; 732 | buildSettings = { 733 | ALWAYS_SEARCH_USER_PATHS = NO; 734 | COPY_PHASE_STRIP = NO; 735 | GCC_DYNAMIC_NO_PIC = NO; 736 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 737 | GCC_MODEL_TUNING = G5; 738 | GCC_OPTIMIZATION_LEVEL = 0; 739 | INSTALL_PATH = /usr/local/bin; 740 | LIBRARY_SEARCH_PATHS = ( 741 | "$(inherited)", 742 | "\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\"", 743 | ); 744 | PRODUCT_NAME = FoodcamClassifier; 745 | }; 746 | name = Debug; 747 | }; 748 | D7BC01CC13FF3FA9004D115F /* Release */ = { 749 | isa = XCBuildConfiguration; 750 | buildSettings = { 751 | ALWAYS_SEARCH_USER_PATHS = NO; 752 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 753 | GCC_MODEL_TUNING = G5; 754 | INSTALL_PATH = /usr/local/bin; 755 | LIBRARY_SEARCH_PATHS = ( 756 | "$(inherited)", 757 | "\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\"", 758 | ); 759 | PRODUCT_NAME = FoodcamClassifier; 760 | }; 761 | name = Release; 762 | }; 763 | D7BC01DE13FF4013004D115F /* Debug */ = { 764 | isa = XCBuildConfiguration; 765 | buildSettings = { 766 | ALWAYS_SEARCH_USER_PATHS = NO; 767 | COPY_PHASE_STRIP = NO; 768 | GCC_DYNAMIC_NO_PIC = NO; 769 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 770 | GCC_MODEL_TUNING = G5; 771 | GCC_OPTIMIZATION_LEVEL = 0; 772 | INSTALL_PATH = /usr/local/bin; 773 | LIBRARY_SEARCH_PATHS = ( 774 | "$(inherited)", 775 | "\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\"", 776 | ); 777 | PRODUCT_NAME = FoodcamClassifier; 778 | }; 779 | name = Debug; 780 | }; 781 | D7BC01DF13FF4013004D115F /* Release */ = { 782 | isa = XCBuildConfiguration; 783 | buildSettings = { 784 | ALWAYS_SEARCH_USER_PATHS = NO; 785 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 786 | GCC_MODEL_TUNING = G5; 787 | INSTALL_PATH = /usr/local/bin; 788 | LIBRARY_SEARCH_PATHS = ( 789 | "$(inherited)", 790 | "\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\"", 791 | ); 792 | PRODUCT_NAME = FoodcamClassifier; 793 | }; 794 | name = Release; 795 | }; 796 | D7BC029214001E3D004D115F /* Debug */ = { 797 | isa = XCBuildConfiguration; 798 | buildSettings = { 799 | ALWAYS_SEARCH_USER_PATHS = NO; 800 | COPY_PHASE_STRIP = NO; 801 | GCC_DYNAMIC_NO_PIC = NO; 802 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 803 | GCC_MODEL_TUNING = G5; 804 | GCC_OPTIMIZATION_LEVEL = 0; 805 | INSTALL_PATH = /usr/local/bin; 806 | LIBRARY_SEARCH_PATHS = ( 807 | "$(inherited)", 808 | "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"", 809 | ); 810 | PRODUCT_NAME = FoodcamClassifier; 811 | }; 812 | name = Debug; 813 | }; 814 | D7BC029314001E3D004D115F /* Release */ = { 815 | isa = XCBuildConfiguration; 816 | buildSettings = { 817 | ALWAYS_SEARCH_USER_PATHS = NO; 818 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 819 | GCC_MODEL_TUNING = G5; 820 | INSTALL_PATH = /usr/local/bin; 821 | LIBRARY_SEARCH_PATHS = ( 822 | "$(inherited)", 823 | "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"", 824 | ); 825 | PRODUCT_NAME = FoodcamClassifier; 826 | }; 827 | name = Release; 828 | }; 829 | D7BC04571401E60F004D115F /* Debug */ = { 830 | isa = XCBuildConfiguration; 831 | buildSettings = { 832 | ALWAYS_SEARCH_USER_PATHS = NO; 833 | COPY_PHASE_STRIP = NO; 834 | GCC_DYNAMIC_NO_PIC = NO; 835 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 836 | GCC_MODEL_TUNING = G5; 837 | GCC_OPTIMIZATION_LEVEL = 0; 838 | INSTALL_PATH = /usr/local/bin; 839 | LIBRARY_SEARCH_PATHS = ( 840 | "$(inherited)", 841 | "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"", 842 | ); 843 | PRODUCT_NAME = FoodcamClassifier; 844 | }; 845 | name = Debug; 846 | }; 847 | D7BC04581401E60F004D115F /* Release */ = { 848 | isa = XCBuildConfiguration; 849 | buildSettings = { 850 | ALWAYS_SEARCH_USER_PATHS = NO; 851 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 852 | GCC_MODEL_TUNING = G5; 853 | INSTALL_PATH = /usr/local/bin; 854 | LIBRARY_SEARCH_PATHS = ( 855 | "$(inherited)", 856 | "\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"", 857 | ); 858 | PRODUCT_NAME = FoodcamClassifier; 859 | }; 860 | name = Release; 861 | }; 862 | D7BC06B01402FE92004D115F /* Debug */ = { 863 | isa = XCBuildConfiguration; 864 | buildSettings = { 865 | ALWAYS_SEARCH_USER_PATHS = NO; 866 | COPY_PHASE_STRIP = NO; 867 | GCC_DYNAMIC_NO_PIC = NO; 868 | GCC_ENABLE_FIX_AND_CONTINUE = YES; 869 | GCC_MODEL_TUNING = G5; 870 | GCC_OPTIMIZATION_LEVEL = 0; 871 | INSTALL_PATH = /usr/local/bin; 872 | LIBRARY_SEARCH_PATHS = ( 873 | "$(inherited)", 874 | "\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\"", 875 | ); 876 | PRODUCT_NAME = FoodcamClassifier; 877 | }; 878 | name = Debug; 879 | }; 880 | D7BC06B11402FE92004D115F /* Release */ = { 881 | isa = XCBuildConfiguration; 882 | buildSettings = { 883 | ALWAYS_SEARCH_USER_PATHS = NO; 884 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 885 | GCC_MODEL_TUNING = G5; 886 | INSTALL_PATH = /usr/local/bin; 887 | LIBRARY_SEARCH_PATHS = ( 888 | "$(inherited)", 889 | "\\\\\\\\\\\\\\\"$(SRCROOT)/../../Downloads/trunk/opencv/out/lib/Release\\\\\\\\\\\\\\\"", 890 | ); 891 | PRODUCT_NAME = FoodcamClassifier; 892 | }; 893 | name = Release; 894 | }; 895 | /* End XCBuildConfiguration section */ 896 | 897 | /* Begin XCConfigurationList section */ 898 | 1DEB923108733DC60010E9CD /* Build configuration list for PBXNativeTarget "FoodcamClassifier" */ = { 899 | isa = XCConfigurationList; 900 | buildConfigurations = ( 901 | 1DEB923208733DC60010E9CD /* Debug */, 902 | 1DEB923308733DC60010E9CD /* Release */, 903 | ); 904 | defaultConfigurationIsVisible = 0; 905 | defaultConfigurationName = Release; 906 | }; 907 | 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "FoodcamClassifier" */ = { 908 | isa = XCConfigurationList; 909 | buildConfigurations = ( 910 | 1DEB923608733DC60010E9CD /* Debug */, 911 | 1DEB923708733DC60010E9CD /* Release */, 912 | ); 913 | defaultConfigurationIsVisible = 0; 914 | defaultConfigurationName = Release; 915 | }; 916 | D79319ED1404991200C2209B /* Build configuration list for PBXNativeTarget "foodcam-predict" */ = { 917 | isa = XCConfigurationList; 918 | buildConfigurations = ( 919 | D79319EE1404991200C2209B /* Debug */, 920 | D79319EF1404991200C2209B /* Release */, 921 | ); 922 | defaultConfigurationIsVisible = 0; 923 | defaultConfigurationName = Release; 924 | }; 925 | D7BC013D13FF0035004D115F /* Build configuration list for PBXNativeTarget "manual-classifier" */ = { 926 | isa = XCConfigurationList; 927 | buildConfigurations = ( 928 | D7BC013E13FF0035004D115F /* Debug */, 929 | D7BC013F13FF0035004D115F /* Release */, 930 | ); 931 | defaultConfigurationIsVisible = 0; 932 | defaultConfigurationName = Release; 933 | }; 934 | D7BC01CA13FF3FA9004D115F /* Build configuration list for PBXNativeTarget "train-bovw" */ = { 935 | isa = XCConfigurationList; 936 | buildConfigurations = ( 937 | D7BC01CB13FF3FA9004D115F /* Debug */, 938 | D7BC01CC13FF3FA9004D115F /* Release */, 939 | ); 940 | defaultConfigurationIsVisible = 0; 941 | defaultConfigurationName = Release; 942 | }; 943 | D7BC01DD13FF4013004D115F /* Build configuration list for PBXNativeTarget "build-vocabulary" */ = { 944 | isa = XCConfigurationList; 945 | buildConfigurations = ( 946 | D7BC01DE13FF4013004D115F /* Debug */, 947 | D7BC01DF13FF4013004D115F /* Release */, 948 | ); 949 | defaultConfigurationIsVisible = 0; 950 | defaultConfigurationName = Release; 951 | }; 952 | D7BC029114001E3D004D115F /* Build configuration list for PBXNativeTarget "test-classifiers" */ = { 953 | isa = XCConfigurationList; 954 | buildConfigurations = ( 955 | D7BC029214001E3D004D115F /* Debug */, 956 | D7BC029314001E3D004D115F /* Release */, 957 | ); 958 | defaultConfigurationIsVisible = 0; 959 | defaultConfigurationName = Release; 960 | }; 961 | D7BC04561401E60F004D115F /* Build configuration list for PBXNativeTarget "make-background" */ = { 962 | isa = XCConfigurationList; 963 | buildConfigurations = ( 964 | D7BC04571401E60F004D115F /* Debug */, 965 | D7BC04581401E60F004D115F /* Release */, 966 | ); 967 | defaultConfigurationIsVisible = 0; 968 | defaultConfigurationName = Release; 969 | }; 970 | D7BC06AF1402FE92004D115F /* Build configuration list for PBXNativeTarget "train-SVM-alone" */ = { 971 | isa = XCConfigurationList; 972 | buildConfigurations = ( 973 | D7BC06B01402FE92004D115F /* Debug */, 974 | D7BC06B11402FE92004D115F /* Release */, 975 | ); 976 | defaultConfigurationIsVisible = 0; 977 | defaultConfigurationName = Release; 978 | }; 979 | /* End XCConfigurationList section */ 980 | }; 981 | rootObject = 08FB7793FE84155DC02AAC07 /* Project object */; 982 | } 983 | --------------------------------------------------------------------------------