Merge pull request #6831 from bobpaulin:master

This commit is contained in:
Vadim Pisarevsky 2016-07-18 15:24:35 +00:00
commit 77f9bb7b76
3 changed files with 19 additions and 10 deletions

View File

@ -76,6 +76,7 @@ int main( int argc, char* argv[] )
double scale = 4.0; double scale = 4.0;
int width = 24; int width = 24;
int height = 24; int height = 24;
double maxscale = -1.0;
srand((unsigned int)time(0)); srand((unsigned int)time(0));
@ -92,9 +93,10 @@ int main( int argc, char* argv[] )
" [-maxyangle <max_y_rotation_angle = %f>]\n" " [-maxyangle <max_y_rotation_angle = %f>]\n"
" [-maxzangle <max_z_rotation_angle = %f>]\n" " [-maxzangle <max_z_rotation_angle = %f>]\n"
" [-show [<scale = %f>]]\n" " [-show [<scale = %f>]]\n"
" [-w <sample_width = %d>]\n [-h <sample_height = %d>]\n", " [-w <sample_width = %d>]\n [-h <sample_height = %d>]\n"
" [-maxscale <max sample scale = %f>]\n",
argv[0], num, bgcolor, bgthreshold, maxintensitydev, argv[0], num, bgcolor, bgthreshold, maxintensitydev,
maxxangle, maxyangle, maxzangle, scale, width, height ); maxxangle, maxyangle, maxzangle, scale, width, height, maxscale );
return 0; return 0;
} }
@ -172,6 +174,10 @@ int main( int argc, char* argv[] )
{ {
height = atoi( argv[++i] ); height = atoi( argv[++i] );
} }
else if( !strcmp( argv[i], "-maxscale" ) )
{
maxscale = atof( argv[++i] );
}
} }
printf( "Info file name: %s\n", ((infoname == NULL) ? nullname : infoname ) ); printf( "Info file name: %s\n", ((infoname == NULL) ? nullname : infoname ) );
@ -194,6 +200,7 @@ int main( int argc, char* argv[] )
} }
printf( "Width: %d\n", width ); printf( "Width: %d\n", width );
printf( "Height: %d\n", height ); printf( "Height: %d\n", height );
printf( "Max Scale: %g\n", maxscale);
/* determine action */ /* determine action */
if( imagename && vecname ) if( imagename && vecname )
@ -213,7 +220,7 @@ int main( int argc, char* argv[] )
cvCreateTestSamples( infoname, imagename, bgcolor, bgthreshold, bgfilename, num, cvCreateTestSamples( infoname, imagename, bgcolor, bgthreshold, bgfilename, num,
invert, maxintensitydev, invert, maxintensitydev,
maxxangle, maxyangle, maxzangle, showsamples, width, height ); maxxangle, maxyangle, maxzangle, showsamples, width, height, maxscale);
printf( "Done\n" ); printf( "Done\n" );
} }

View File

@ -38,7 +38,6 @@
// the use of this software, even if advised of the possibility of such damage. // the use of this software, even if advised of the possibility of such damage.
// //
//M*/ //M*/
#include <cstring> #include <cstring>
#include <ctime> #include <ctime>
@ -1308,7 +1307,7 @@ void cvCreateTestSamples( const char* infoname,
int invert, int maxintensitydev, int invert, int maxintensitydev,
double maxxangle, double maxyangle, double maxzangle, double maxxangle, double maxyangle, double maxzangle,
int showsamples, int showsamples,
int winwidth, int winheight ) int winwidth, int winheight, double maxscale )
{ {
CvSampleDistortionData data; CvSampleDistortionData data;
@ -1337,7 +1336,6 @@ void cvCreateTestSamples( const char* infoname,
int i; int i;
int x, y, width, height; int x, y, width, height;
float scale; float scale;
float maxscale;
int inverse; int inverse;
if( showsamples ) if( showsamples )
@ -1366,12 +1364,16 @@ void cvCreateTestSamples( const char* infoname,
for( i = 0; i < count; i++ ) for( i = 0; i < count; i++ )
{ {
icvGetNextFromBackgroundData( cvbgdata, cvbgreader ); icvGetNextFromBackgroundData( cvbgdata, cvbgreader );
if( maxscale < 0.0 )
{
maxscale = MIN( 0.7F * cvbgreader->src.cols / winwidth, maxscale = MIN( 0.7F * cvbgreader->src.cols / winwidth,
0.7F * cvbgreader->src.rows / winheight ); 0.7F * cvbgreader->src.rows / winheight );
}
if( maxscale < 1.0F ) continue; if( maxscale < 1.0F ) continue;
scale = (maxscale - 1.0F) * rand() / RAND_MAX + 1.0F; scale = ((float)maxscale - 1.0F) * rand() / RAND_MAX + 1.0F;
width = (int) (scale * winwidth); width = (int) (scale * winwidth);
height = (int) (scale * winheight); height = (int) (scale * winheight);
x = (int) ((0.1+0.8 * rand()/RAND_MAX) * (cvbgreader->src.cols - width)); x = (int) ((0.1+0.8 * rand()/RAND_MAX) * (cvbgreader->src.cols - width));

View File

@ -86,7 +86,7 @@ void cvCreateTestSamples( const char* infoname,
int invert, int maxintensitydev, int invert, int maxintensitydev,
double maxxangle, double maxyangle, double maxzangle, double maxxangle, double maxyangle, double maxzangle,
int showsamples, int showsamples,
int winwidth, int winheight ); int winwidth, int winheight, double maxscale );
/* /*
* cvCreateTrainingSamplesFromInfo * cvCreateTrainingSamplesFromInfo