Commit 16dd09cc authored by marina.kolpakova's avatar marina.kolpakova

move scale related parameters to SoftCascade constructor

parent 017d970b
...@@ -510,19 +510,18 @@ public: ...@@ -510,19 +510,18 @@ public:
}; };
//! An empty cascade will be created. //! An empty cascade will be created.
SoftCascade(); //! Param minScale is a minimum scale relative to the original size of the image on which cascade will be applyed.
//! Param minScale is a maximum scale relative to the original size of the image on which cascade will be applyed.
//! Param scales is a number of scales from minScale to maxScale.
SoftCascade( const float minScale = 0.4f, const float maxScale = 5.f, const int scales = 55);
//! Cascade will be created for scales from minScale to maxScale. //! Cascade will be created for scales from minScale to maxScale.
//! Param fs is a serialized sacsade. //! Param fs is a serialized sacsade.
//! Param minScale is a minimum scale relative to the original size of the image on which cascade will be applyed. SoftCascade( const cv::FileStorage& fs);
//! Param minScale is a maximum scale relative to the original size of the image on which cascade will be applyed.
SoftCascade( const cv::FileStorage& fs, const float minScale = 0.4f, const float maxScale = 5.f);
//! cascade will be loaded. The previous cascade will be destroyed. //! cascade will be loaded. The previous cascade will be destroyed.
//! Param fs is a serialized sacsade. //! Param fs is a serialized sacsade.
//! Param minScale is a minimum scale relative to the original size of the image on which cascade will be applyed. bool read( const cv::FileStorage& fs);
//! Param minScale is a maximum scale relative to the original size of the image on which cascade will be applyed.
bool read( const cv::FileStorage& fs, const float minScale = 0.4f, const float maxScale = 5.f);
virtual ~SoftCascade(); virtual ~SoftCascade();
...@@ -545,6 +544,10 @@ protected: ...@@ -545,6 +544,10 @@ protected:
private: private:
struct Filds; struct Filds;
Filds* filds; Filds* filds;
float minScale;
float maxScale;
int scales;
}; };
class CV_EXPORTS IntegralChannels class CV_EXPORTS IntegralChannels
......
...@@ -497,18 +497,19 @@ struct cv::SoftCascade::Filds ...@@ -497,18 +497,19 @@ struct cv::SoftCascade::Filds
} }
}; };
cv::SoftCascade::SoftCascade() : filds(0) {} cv::SoftCascade::SoftCascade(const float mins, const float maxs, const int nsc)
: filds(0), minScale(mins), maxScale(maxs), scales(nsc) {}
cv::SoftCascade::SoftCascade(const cv::FileStorage& fs, const float minScale, const float maxScale) : filds(0) cv::SoftCascade::SoftCascade(const cv::FileStorage& fs) : filds(0)
{ {
read(fs, minScale, maxScale); read(fs);
} }
cv::SoftCascade::~SoftCascade() cv::SoftCascade::~SoftCascade()
{ {
delete filds; delete filds;
} }
bool cv::SoftCascade::read( const cv::FileStorage& fs, const float minScale, const float maxScale) bool cv::SoftCascade::read( const cv::FileStorage& fs)
{ {
if (!fs.isOpened()) return false; if (!fs.isOpened()) return false;
......
...@@ -92,4 +92,5 @@ TEST(SoftCascade, detect) ...@@ -92,4 +92,5 @@ TEST(SoftCascade, detect)
total++; total++;
} }
std::cout << "detected: " << (int)objects.size() << std::endl; std::cout << "detected: " << (int)objects.size() << std::endl;
ASSERT_EQ((int)objects.size(), 1501);
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment