Пример #1
0
double ClassifierTester::StartTest(const LandmarkCollectionDataPtr& collection,
                                 const std::string& savedTrainedDataFilePath,
                                 const int numberOfIterations,
                                 bool showSteps)
{
  BOOST_ASSERT(savedTrainedDataFilePath.size() != 0);
  BOOST_ASSERT(collection->CollectionSize() != 0);
  
  m_collection = collection;
  m_savedTrainedDataFilePath = savedTrainedDataFilePath;
  m_showSteps = showSteps;
  m_numberOfIterations = numberOfIterations;
  
  m_detector = DetectorPtr(new Detector(m_savedTrainedDataFilePath));
  
  int i = 0;
  collection->EnumerateConstColectionWithCallback([&] (const ImageLandmarkDataPtr& landmarkData, const int index, bool* stop) {
    
//    std::cout<<index<<std::endl;
    
    const cv::Mat image = landmarkData->ImageSource();
    const cv::Mat landmarks = processImage(image, landmarkData->LandmarksMat());
    if (landmarks.empty())
    {
      i++;
//      std::cout<<"Fail image "<<landmarkData->ImagePath()<<std::endl;
    }
    else
    {
      collectStatistics(landmarks, landmarkData->LandmarksMat());
    }
  });
  
  std::cout<<"Numeber of fail images: "<<i<<std::endl;
  return calculateStatistics();
}
Пример #2
0
 DetectorFixture() :
   det(DetectorPtr(new Detector(10, 10, 0.2f, 0.2f)))
 { 
   std::cout << "setup detector fixture" << std::endl; 
 }