Definition at line 1016 of file InterestPointFeature.h. References Impala::Core::Feature::HarrisLaplaceDetector::CHLDetector(), DenseAllDetector(), DenseSamplingDetector(), Impala::CmdOptions::GetDouble(), Impala::CmdOptions::GetInstance(), Impala::CmdOptions::GetInt(), Impala::Core::Feature::HarrisLaplaceDetector::HLDetector(), ILOG_ERROR, Impala::Core::Feature::LaplacianDetector(), Impala::Core::Feature::HarrisLaplaceDetector::mBackwardsCompatible, mUseRecGauss, and Impala::Core::Feature::PointDescriptorTable::SetFeatureDefinition(). Referenced by FindInterestPoints(). 01017 { 01018 CmdOptions& options = CmdOptions::GetInstance(); 01019 Real64 harrisThreshold = options.GetDouble("harrisThreshold"); 01020 Real64 harrisK = options.GetDouble("harrisK"); 01021 Real64 laplaceThreshold = options.GetDouble("laplaceThreshold"); 01022 01023 PointDescriptorTable* output = 0; 01024 01025 if((detectorMode == "harrislaplace") || (detectorMode == "harrislaplace2")) 01026 { 01027 HarrisLaplaceDetector detector(mUseRecGauss); 01028 detector.mBackwardsCompatible = false; 01029 output = detector.HLDetector(inputNoBorder, harrisThreshold, 01030 harrisK, laplaceThreshold); 01031 } 01032 else if(detectorMode == "colorharrislaplace") 01033 { 01034 // recommendation: set harrisThreshold to at least 0.001 in color 01035 // mode (due to very different ranges!) 01036 HarrisLaplaceDetector detector(mUseRecGauss); 01037 detector.mBackwardsCompatible = false; 01038 output = detector.CHLDetector(inputNoBorder, harrisThreshold, 01039 harrisK, laplaceThreshold); 01040 } 01041 else if(detectorMode == "laplacian") 01042 { 01043 output = LaplacianDetector(inputNoBorder, true); 01044 } 01045 else if(detectorMode == "densesampling") 01046 { 01047 int spacing = options.GetInt("ds_spacing"); 01048 output = DenseSamplingDetector(inputNoBorder, spacing); 01049 } 01050 else if(detectorMode == "denseall") 01051 { 01052 output = DenseAllDetector(inputNoBorder); 01053 } 01054 else if(detectorMode == "none") 01055 { 01056 // we don't add point in the detector phase, they are added in the 01057 // descsriptor fase. see Core/Feature/Surf.h for an example 01058 output = new PointDescriptorTable(); 01059 } 01060 else 01061 { 01062 ILOG_ERROR("[ERROR] Unknown detector mode: " << detectorMode); 01063 return 0; 01064 } 01065 output->SetFeatureDefinition(FeatureDefinition(detectorMode)); 01066 return output; 01067 }
Here is the call graph for this function:
|