#include <cstdlib>
#include <cmath>
#include <ctime>
+#include <memory>
using namespace std;
printf( "Done\n" );
}
- else if( imagename && bgfilename && infoname && pngoutput)
+ else if( imagename && bgfilename && infoname)
{
- printf( "Create training set from a single image and a collection of backgrounds.\n"
- "Output format: %s\n"
- "Annotations are in a separate directory\n",
- (( pngoutput ) ? "JPG" : "PNG") );
-
- PngDatasetGenerator creator( infoname );
- creator.create( imagename, bgcolor, bgthreshold, bgfilename, num,
- invert, maxintensitydev, maxxangle, maxyangle, maxzangle,
- showsamples, width, height );
-
- printf( "Done\n" );
- }
- else if( imagename && bgfilename && infoname )
- {
- printf( "Create test samples from single image applying distortions...\n"
+ printf( "Create data set from single image applying distortions...\n"
"Output format: %s\n",
- (( pngoutput ) ? "JPG" : "PNG") );
+ (( pngoutput ) ? "PNG" : "JPG") );
- JpgDatasetGrenerator creator( infoname );
- creator.create( imagename, bgcolor, bgthreshold, bgfilename, num,
+ std::auto_ptr<DatasetGenerator> creator;
+ if( pngoutput )
+ {
+ creator = std::auto_ptr<DatasetGenerator>( new PngDatasetGenerator( infoname ) );
+ }
+ else
+ {
+ creator = std::auto_ptr<DatasetGenerator>( new JpgDatasetGenerator( infoname ) );
+ }
+ creator->create( imagename, bgcolor, bgthreshold, bgfilename, num,
invert, maxintensitydev, maxxangle, maxyangle, maxzangle,
showsamples, width, height );
}
-JpgDatasetGrenerator::JpgDatasetGrenerator(const char* filename)
- :DatasetGenerator(IOutput::createOutput(filename,IOutput::JPG_TEST_SET))
+JpgDatasetGenerator::JpgDatasetGenerator( const char* filename )
+ :DatasetGenerator( IOutput::createOutput( filename, IOutput::JPG_DATASET ) )
{
}
-CvSize JpgDatasetGrenerator::scaleObjectSize(const CvSize& bgImgSize,
+CvSize JpgDatasetGenerator::scaleObjectSize( const CvSize& bgImgSize,
const CvSize& ,
const CvSize& sampleSize) const
{
PngDatasetGenerator::PngDatasetGenerator(const char* filename)
- :DatasetGenerator(IOutput::createOutput(filename,IOutput::PNG_TRAINING_SET))
+ :DatasetGenerator( IOutput::createOutput( filename, IOutput::PNG_DATASET ) )
{
}
CvSize PngDatasetGenerator::scaleObjectSize( const CvSize& bgImgSize,
- const CvSize& imgSize,
- const CvSize& ) const
+ const CvSize& imgSize,
+ const CvSize& ) const
{
float scale;
};
/* Provides the functionality of test set generating */
-class JpgDatasetGrenerator: public DatasetGenerator
+class JpgDatasetGenerator: public DatasetGenerator
{
public:
- JpgDatasetGrenerator(const char* filename);
+ JpgDatasetGenerator(const char* filename);
private:
CvSize scaleObjectSize(const CvSize& bgImgSize,
const CvSize& ,