Definition at line 1309 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(). 01310 { 01311 CmdOptions& options = CmdOptions::GetInstance(); 01312 Real64 harrisThreshold = options.GetDouble("harrisThreshold"); 01313 Real64 harrisK = options.GetDouble("harrisK"); 01314 Real64 laplaceThreshold = options.GetDouble("laplaceThreshold"); 01315 01316 PointDescriptorTable* output = 0; 01317 01318 if((detectorMode == "harrislaplace") || (detectorMode == "harrislaplace2")) 01319 { 01320 HarrisLaplaceDetector detector(mUseRecGauss); 01321 detector.mBackwardsCompatible = false; 01322 output = detector.HLDetector(inputNoBorder, harrisThreshold, 01323 harrisK, laplaceThreshold); 01324 } 01325 else if(detectorMode == "colorharrislaplace") 01326 { 01327 // recommendation: set harrisThreshold to at least 0.001 in color 01328 // mode (due to very different ranges!) 01329 HarrisLaplaceDetector detector(mUseRecGauss); 01330 detector.mBackwardsCompatible = false; 01331 output = detector.CHLDetector(inputNoBorder, harrisThreshold, 01332 harrisK, laplaceThreshold); 01333 } 01334 else if(detectorMode == "laplacian") 01335 { 01336 output = LaplacianDetector(inputNoBorder, true); 01337 } 01338 else if(detectorMode == "densesampling") 01339 { 01340 int spacing = options.GetInt("ds_spacing"); 01341 output = DenseSamplingDetector(inputNoBorder, spacing); 01342 } 01343 else if(detectorMode == "denseall") 01344 { 01345 output = DenseAllDetector(inputNoBorder); 01346 } 01347 else if(detectorMode == "none") 01348 { 01349 // we don't add point in the detector phase, they are added in the 01350 // descsriptor fase. see Core/Feature/Surf.h for an example 01351 output = new PointDescriptorTable(); 01352 } 01353 else 01354 { 01355 ILOG_ERROR("[ERROR] Unknown detector mode: " << detectorMode); 01356 return 0; 01357 } 01358 output->SetFeatureDefinition(FeatureDefinition(detectorMode)); 01359 return output; 01360 }
Here is the call graph for this function:
|