Autotuned_index now prints all info into logger instead of couting it.
author1Hyena <hyena@hyena.net.ee>
Thu, 1 May 2014 17:55:49 +0000 (20:55 +0300)
committer1Hyena <hyena@hyena.net.ee>
Thu, 1 May 2014 17:55:49 +0000 (20:55 +0300)
modules/flann/include/opencv2/flann/autotuned_index.h
modules/flann/include/opencv2/flann/params.h

index 8d53175..2b9ca91 100644 (file)
@@ -99,18 +99,22 @@ public:
      */
     virtual void buildIndex()
     {
+        std::ostringstream stream;
         bestParams_ = estimateBuildParams();
+        print_params(bestParams_, stream);
         Logger::info("----------------------------------------------------\n");
         Logger::info("Autotuned parameters:\n");
-        print_params(bestParams_);
+        Logger::info("%s", stream.str().c_str());
         Logger::info("----------------------------------------------------\n");
 
         bestIndex_ = create_index_by_type(dataset_, bestParams_, distance_);
         bestIndex_->buildIndex();
         speedup_ = estimateSearchParams(bestSearchParams_);
+        stream.str(std::string());
+        print_params(bestSearchParams_, stream);
         Logger::info("----------------------------------------------------\n");
         Logger::info("Search parameters:\n");
-        print_params(bestSearchParams_);
+        Logger::info("%s", stream.str().c_str());
         Logger::info("----------------------------------------------------\n");
     }
 
index fc2a906..9ee5b1c 100644 (file)
@@ -79,17 +79,15 @@ T get_param(const IndexParams& params, std::string name)
     }
 }
 
-inline void print_params(const IndexParams& params)
+inline void print_params(const IndexParams& params, std::ostringstream& stream)
 {
     IndexParams::const_iterator it;
-
     for(it=params.begin(); it!=params.end(); ++it) {
-        std::cout << it->first << " : " << it->second << std::endl;
+        stream << it->first << " : " << it->second << std::endl;
     }
 }
 
 
-
 }