move scale related parameters to SoftCascade constructor

This commit is contained in:
marina.kolpakova 2012-10-25 12:22:54 +04:00
parent 017d970b9a
commit 16dd09ccfc
3 changed files with 16 additions and 11 deletions

View File

@ -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:
private: private:
struct Filds; struct Filds;
Filds* filds; Filds* filds;
float minScale;
float maxScale;
int scales;
}; };
class CV_EXPORTS IntegralChannels class CV_EXPORTS IntegralChannels

View File

@ -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;

View File

@ -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);
} }