Commit 57cf3d17 authored by Grigory Serebryakov's avatar Grigory Serebryakov

Class naming update

Documentation improvement
Bug in output format for JPG set fixed
parent f81b3101
...@@ -225,7 +225,7 @@ int main( int argc, char* argv[] ) ...@@ -225,7 +225,7 @@ int main( int argc, char* argv[] )
"Annotations are in a separate directory\n", "Annotations are in a separate directory\n",
(( pngoutput ) ? "JPG" : "PNG") ); (( pngoutput ) ? "JPG" : "PNG") );
PngTrainingSetGenerator creator( infoname ); PngDatasetGenerator creator( infoname );
creator.create( imagename, bgcolor, bgthreshold, bgfilename, num, creator.create( imagename, bgcolor, bgthreshold, bgfilename, num,
invert, maxintensitydev, maxxangle, maxyangle, maxzangle, invert, maxintensitydev, maxxangle, maxyangle, maxzangle,
showsamples, width, height ); showsamples, width, height );
...@@ -238,7 +238,7 @@ int main( int argc, char* argv[] ) ...@@ -238,7 +238,7 @@ int main( int argc, char* argv[] )
"Output format: %s\n", "Output format: %s\n",
(( pngoutput ) ? "JPG" : "PNG") ); (( pngoutput ) ? "JPG" : "PNG") );
TestSamplesGenerator creator( infoname ); JpgDatasetGrenerator creator( infoname );
creator.create( imagename, bgcolor, bgthreshold, bgfilename, num, creator.create( imagename, bgcolor, bgthreshold, bgfilename, num,
invert, maxintensitydev, maxxangle, maxyangle, maxzangle, invert, maxintensitydev, maxxangle, maxyangle, maxzangle,
showsamples, width, height ); showsamples, width, height );
......
...@@ -2942,13 +2942,13 @@ void cvCreateTrainingSamples( const char* filename, ...@@ -2942,13 +2942,13 @@ void cvCreateTrainingSamples( const char* filename,
} }
SamplesGenerator::SamplesGenerator( IOutput* _writer ) DatasetGenerator::DatasetGenerator( IOutput* _writer )
:writer(_writer) :writer(_writer)
{ {
} }
void SamplesGenerator::showSamples(bool* show, CvMat *img) const void DatasetGenerator::showSamples(bool* show, CvMat *img) const
{ {
if( *show ) if( *show )
{ {
...@@ -2960,7 +2960,7 @@ void SamplesGenerator::showSamples(bool* show, CvMat *img) const ...@@ -2960,7 +2960,7 @@ void SamplesGenerator::showSamples(bool* show, CvMat *img) const
} }
} }
void SamplesGenerator::create(const char* imgfilename, int bgcolor, int bgthreshold, void DatasetGenerator::create(const char* imgfilename, int bgcolor, int bgthreshold,
const char* bgfilename, int count, const char* bgfilename, int count,
int invert, int maxintensitydev, int invert, int maxintensitydev,
double maxxangle, double maxyangle, double maxzangle, double maxxangle, double maxyangle, double maxzangle,
...@@ -3023,18 +3023,18 @@ void SamplesGenerator::create(const char* imgfilename, int bgcolor, int bgthresh ...@@ -3023,18 +3023,18 @@ void SamplesGenerator::create(const char* imgfilename, int bgcolor, int bgthresh
} }
} }
SamplesGenerator::~SamplesGenerator() DatasetGenerator::~DatasetGenerator()
{ {
delete writer; delete writer;
} }
TestSamplesGenerator::TestSamplesGenerator(const char* filename) JpgDatasetGrenerator::JpgDatasetGrenerator(const char* filename)
:SamplesGenerator(IOutput::createOutput(filename,IOutput::JPG_TEST_SET)) :DatasetGenerator(IOutput::createOutput(filename,IOutput::JPG_TEST_SET))
{ {
} }
CvSize TestSamplesGenerator::scaleObjectSize(const CvSize& bgImgSize, CvSize JpgDatasetGrenerator::scaleObjectSize(const CvSize& bgImgSize,
const CvSize& , const CvSize& ,
const CvSize& sampleSize) const const CvSize& sampleSize) const
{ {
...@@ -3058,7 +3058,7 @@ CvSize TestSamplesGenerator::scaleObjectSize(const CvSize& bgImgSize, ...@@ -3058,7 +3058,7 @@ CvSize TestSamplesGenerator::scaleObjectSize(const CvSize& bgImgSize,
return cvSize( width, height ); return cvSize( width, height );
} }
CvRect SamplesGenerator::getObjectPosition(const CvSize& bgImgSize, CvRect DatasetGenerator::getObjectPosition(const CvSize& bgImgSize,
const CvSize& imgSize, const CvSize& imgSize,
const CvSize& sampleSize) const const CvSize& sampleSize) const
{ {
...@@ -3073,12 +3073,12 @@ CvRect SamplesGenerator::getObjectPosition(const CvSize& bgImgSize, ...@@ -3073,12 +3073,12 @@ CvRect SamplesGenerator::getObjectPosition(const CvSize& bgImgSize,
} }
PngTrainingSetGenerator::PngTrainingSetGenerator(const char* filename) PngDatasetGenerator::PngDatasetGenerator(const char* filename)
:SamplesGenerator(IOutput::createOutput(filename,IOutput::PNG_TRAINING_SET)) :DatasetGenerator(IOutput::createOutput(filename,IOutput::PNG_TRAINING_SET))
{ {
} }
CvSize PngTrainingSetGenerator::scaleObjectSize( const CvSize& bgImgSize, CvSize PngDatasetGenerator::scaleObjectSize( const CvSize& bgImgSize,
const CvSize& imgSize, const CvSize& imgSize,
const CvSize& ) const const CvSize& ) const
{ {
......
...@@ -202,17 +202,17 @@ void cvCreateTreeCascadeClassifier( const char* dirname, ...@@ -202,17 +202,17 @@ void cvCreateTreeCascadeClassifier( const char* dirname,
int maxtreesplits, int minpos, bool bg_vecfile = false ); int maxtreesplits, int minpos, bool bg_vecfile = false );
class SamplesGenerator class DatasetGenerator
{ {
public: public:
SamplesGenerator( IOutput* _writer ); DatasetGenerator( IOutput* _writer );
void create( const char* imgfilename, int bgcolor, int bgthreshold, void create( const char* imgfilename, int bgcolor, int bgthreshold,
const char* bgfilename, int count, const char* bgfilename, int count,
int invert, int maxintensitydev, int invert, int maxintensitydev,
double maxxangle, double maxyangle, double maxzangle, double maxxangle, double maxyangle, double maxzangle,
bool showsamples, bool showsamples,
int winwidth, int winheight); int winwidth, int winheight);
virtual ~SamplesGenerator(); virtual ~DatasetGenerator();
private: private:
virtual void showSamples( bool* showSamples, CvMat* img ) const; virtual void showSamples( bool* showSamples, CvMat* img ) const;
...@@ -226,20 +226,21 @@ private: ...@@ -226,20 +226,21 @@ private:
IOutput* writer; IOutput* writer;
}; };
class TestSamplesGenerator: public SamplesGenerator /* Provides the functionality of test set generating */
class JpgDatasetGrenerator: public DatasetGenerator
{ {
public: public:
TestSamplesGenerator(const char* filename); JpgDatasetGrenerator(const char* filename);
private: private:
CvSize scaleObjectSize(const CvSize& bgImgSize, CvSize scaleObjectSize(const CvSize& bgImgSize,
const CvSize& , const CvSize& ,
const CvSize& sampleSize) const; const CvSize& sampleSize) const;
}; };
class PngTrainingSetGenerator: public SamplesGenerator class PngDatasetGenerator: public DatasetGenerator
{ {
public: public:
PngTrainingSetGenerator(const char *filename); PngDatasetGenerator(const char *filename);
private: private:
CvSize scaleObjectSize(const CvSize& bgImgSize, CvSize scaleObjectSize(const CvSize& bgImgSize,
const CvSize& imgSize , const CvSize& imgSize ,
......
...@@ -35,10 +35,10 @@ IOutput* IOutput::createOutput(const char *filename, ...@@ -35,10 +35,10 @@ IOutput* IOutput::createOutput(const char *filename,
IOutput* output = 0; IOutput* output = 0;
switch (type) { switch (type) {
case IOutput::PNG_TRAINING_SET: case IOutput::PNG_TRAINING_SET:
output = new PngTrainingSetOutput(); output = new PngDatasetOutput();
break; break;
case IOutput::JPG_TEST_SET: case IOutput::JPG_TEST_SET:
output = new TestSamplesOutput(); output = new JpgDatasetOutput();
break; break;
default: default:
#if CV_VERBOSE #if CV_VERBOSE
...@@ -53,7 +53,7 @@ IOutput* IOutput::createOutput(const char *filename, ...@@ -53,7 +53,7 @@ IOutput* IOutput::createOutput(const char *filename,
return 0; return 0;
} }
bool PngTrainingSetOutput::init( const char* annotationsListFileName ) bool PngDatasetOutput::init( const char* annotationsListFileName )
{ {
IOutput::init( annotationsListFileName ); IOutput::init( annotationsListFileName );
...@@ -112,7 +112,7 @@ bool PngTrainingSetOutput::init( const char* annotationsListFileName ) ...@@ -112,7 +112,7 @@ bool PngTrainingSetOutput::init( const char* annotationsListFileName )
return true; return true;
} }
bool PngTrainingSetOutput::write( const CvMat& img, bool PngDatasetOutput::write( const CvMat& img,
const CvRect& boundingBox ) const CvRect& boundingBox )
{ {
CvRect bbox = scaleBoundingBox(cvGetSize(&img), boundingBox); CvRect bbox = scaleBoundingBox(cvGetSize(&img), boundingBox);
...@@ -153,7 +153,7 @@ bool PngTrainingSetOutput::write( const CvMat& img, ...@@ -153,7 +153,7 @@ bool PngTrainingSetOutput::write( const CvMat& img,
return true; return true;
} }
void PngTrainingSetOutput::writeImage(const CvMat &img) const void PngDatasetOutput::writeImage(const CvMat &img) const
{ {
CvSize origsize = cvGetSize(&img); CvSize origsize = cvGetSize(&img);
...@@ -173,7 +173,7 @@ void PngTrainingSetOutput::writeImage(const CvMat &img) const ...@@ -173,7 +173,7 @@ void PngTrainingSetOutput::writeImage(const CvMat &img) const
return; return;
} }
CvRect PngTrainingSetOutput::scaleBoundingBox(const CvSize& imgSize, const CvRect& bbox) CvRect PngDatasetOutput::scaleBoundingBox(const CvSize& imgSize, const CvRect& bbox)
{ {
double scale = MAX( (float) destImgWidth / imgSize.width, double scale = MAX( (float) destImgWidth / imgSize.width,
(float) destImgHeight / imgSize.height ); (float) destImgHeight / imgSize.height );
...@@ -231,7 +231,7 @@ bool IOutput::init(const char *filename) ...@@ -231,7 +231,7 @@ bool IOutput::init(const char *filename)
return true; return true;
} }
bool TestSamplesOutput::write( const CvMat& img, bool JpgDatasetOutput::write( const CvMat& img,
const CvRect& boundingBox ) const CvRect& boundingBox )
{ {
sprintf( imgFileName, "%04d_%04d_%04d_%04d_%04d.jpg", sprintf( imgFileName, "%04d_%04d_%04d_%04d_%04d.jpg",
...@@ -242,7 +242,7 @@ bool TestSamplesOutput::write( const CvMat& img, ...@@ -242,7 +242,7 @@ bool TestSamplesOutput::write( const CvMat& img,
boundingBox.height ); boundingBox.height );
fprintf( annotationsList, "%s %d %d %d %d %d\n", fprintf( annotationsList, "%s %d %d %d %d %d\n",
imgFullPath, imgFileName,
1, 1,
boundingBox.x, boundingBox.x,
boundingBox.y, boundingBox.y,
......
...@@ -3,16 +3,16 @@ ...@@ -3,16 +3,16 @@
#include "ioutput.h" #include "ioutput.h"
class PngTrainingSetOutput: public IOutput class PngDatasetOutput: public IOutput
{ {
friend IOutput* IOutput::createOutput(const char *filename, OutputType type); friend IOutput* IOutput::createOutput(const char *filename, OutputType type);
public: public:
virtual bool write( const CvMat& img, virtual bool write( const CvMat& img,
const CvRect& boundingBox); const CvRect& boundingBox);
virtual ~PngTrainingSetOutput(){} virtual ~PngDatasetOutput(){}
private: private:
PngTrainingSetOutput() PngDatasetOutput()
: extension("png") : extension("png")
, destImgWidth(640) , destImgWidth(640)
, destImgHeight(480) , destImgHeight(480)
...@@ -36,14 +36,14 @@ private: ...@@ -36,14 +36,14 @@ private:
int destImgHeight ; int destImgHeight ;
}; };
class TestSamplesOutput: public IOutput class JpgDatasetOutput: public IOutput
{ {
friend IOutput* IOutput::createOutput(const char *filename, OutputType type); friend IOutput* IOutput::createOutput(const char *filename, OutputType type);
public: public:
virtual bool write( const CvMat& img, virtual bool write( const CvMat& img,
const CvRect& boundingBox ); const CvRect& boundingBox );
virtual ~TestSamplesOutput(){} virtual ~JpgDatasetOutput(){}
private: private:
TestSamplesOutput(){} JpgDatasetOutput(){}
}; };
#endif // CVSAMPLESOUTPUT_H #endif // CVSAMPLESOUTPUT_H
This diff is collapsed.
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