Made changes concerning inserting prefiltering modes into CascadeClassifier class.

Now developers should call the method setFaceDetectionMaskGenerator() to use prefiltering mask generator
implemented for face detection.
pull/13383/head
Leonid Beynenson 14 years ago
parent b8304ce764
commit 9f837d3486
  1. 4
      modules/objdetect/include/opencv2/objdetect/objdetect.hpp
  2. 8
      modules/objdetect/src/cascadedetect.cpp

@ -478,9 +478,11 @@ public:
}; };
void setMaskGenerator(Ptr<MaskGenerator> maskGenerator); void setMaskGenerator(Ptr<MaskGenerator> maskGenerator);
Ptr<MaskGenerator> getMaskGenerator(); Ptr<MaskGenerator> getMaskGenerator();
void setFaceDetectionMaskGenerator();
protected: protected:
Ptr<MaskGenerator> maskGenerator; Ptr<MaskGenerator> maskGenerator;
Ptr<MaskGenerator> getDefaultMaskGenerator();
}; };

@ -787,13 +787,11 @@ Ptr<FeatureEvaluator> FeatureEvaluator::create( int featureType )
CascadeClassifier::CascadeClassifier() CascadeClassifier::CascadeClassifier()
{ {
maskGenerator=getDefaultMaskGenerator();
} }
CascadeClassifier::CascadeClassifier(const string& filename) CascadeClassifier::CascadeClassifier(const string& filename)
{ {
load(filename); load(filename);
maskGenerator=getDefaultMaskGenerator();
} }
CascadeClassifier::~CascadeClassifier() CascadeClassifier::~CascadeClassifier()
@ -872,12 +870,12 @@ Ptr<CascadeClassifier::MaskGenerator> CascadeClassifier::getMaskGenerator()
return maskGenerator; return maskGenerator;
} }
Ptr<CascadeClassifier::MaskGenerator> CascadeClassifier::getDefaultMaskGenerator() void CascadeClassifier::setFaceDetectionMaskGenerator()
{ {
#ifdef HAVE_TEGRA_OPTIMIZATION #ifdef HAVE_TEGRA_OPTIMIZATION
return tegra::getCascadeClassifierMaskGenerator(*this); setMaskGenerator(tegra::getCascadeClassifierMaskGenerator(*this));
#else #else
return Ptr<CascadeClassifier::MaskGenerator>(); setMaskGenerator(Ptr<CascadeClassifier::MaskGenerator>());
#endif #endif
} }

Loading…
Cancel
Save