2013-10-02 10:03:31 -0500 asked a question Evaluate Quality of Matching with SVM Hi, I am implementing a BoF object detection and after training the SVM classifier I test it with the code below. My Problem is now that the classifier is not always right and I want to evaluate the quality of the matching. For example the tutorial about the extraction of SIFT/SURF Feature Points on http://docs.opencv.org/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.html, a distance measure between the feature vectors allows to judge if a matching is good or not. With the BoF I have a Support Vector Machine telling me match / nomatch. How can I evaluate the quality of the matching?? Thanks! cout << "eval file " << filepath << endl;  img = imread(filepath); bowide.compute(img, keypoints, response_hist); //BOWImgDescriptorExtractor bowide for (map::iterator it = classes_classifiers.begin(); it != classes_classifiers.end(); ++it) { float res = (*it).second.predict(response_hist,false); cout << "class: " << (*it).first << ", response: " << res << endl; }  // cout << "."; } cout << endl; closedir( dp ); cout <<"done"< keypoints; detector.detect( (it), keypoints ); FileStorage fs("keypoint1.yml", FileStorage::WRITE); write( fs , "keypoint", keypoints ); fs.release();  When I try to read the file I fail with this :  vector keypoint1s; FileStorage fs2("keypoint1.yml", FileStorage::READ); FileNode kptFileNode = fs2["keypoint1"]; read( kptFileNode, keypoint1s ); fs2.release();  If I do it like that, "keypoint1s" remains empty. Would be great if somebody knows how to fix this! Thanks!