Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
57cf3d17
Commit
57cf3d17
authored
Aug 26, 2014
by
Grigory Serebryakov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Class naming update
Documentation improvement Bug in output format for JPG set fixed
parent
f81b3101
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
35 additions
and
34 deletions
+35
-34
createsamples.cpp
apps/haartraining/createsamples.cpp
+2
-2
cvhaartraining.cpp
apps/haartraining/cvhaartraining.cpp
+11
-11
cvhaartraining.h
apps/haartraining/cvhaartraining.h
+8
-7
cvsamplesoutput.cpp
apps/haartraining/cvsamplesoutput.cpp
+8
-8
cvsamplesoutput.h
apps/haartraining/cvsamplesoutput.h
+6
-6
ug_traincascade.rst
doc/user_guide/ug_traincascade.rst
+0
-0
No files found.
apps/haartraining/createsamples.cpp
View file @
57cf3d17
...
@@ -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"
)
);
Png
TrainingS
etGenerator
creator
(
infoname
);
Png
Datas
etGenerator
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"
)
);
TestSamplesG
enerator
creator
(
infoname
);
JpgDatasetGr
enerator
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
);
...
...
apps/haartraining/cvhaartraining.cpp
View file @
57cf3d17
...
@@ -2942,13 +2942,13 @@ void cvCreateTrainingSamples( const char* filename,
...
@@ -2942,13 +2942,13 @@ void cvCreateTrainingSamples( const char* filename,
}
}
SamplesGenerator
::
Samples
Generator
(
IOutput
*
_writer
)
DatasetGenerator
::
Dataset
Generator
(
IOutput
*
_writer
)
:
writer
(
_writer
)
:
writer
(
_writer
)
{
{
}
}
void
Samples
Generator
::
showSamples
(
bool
*
show
,
CvMat
*
img
)
const
void
Dataset
Generator
::
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
Samples
Generator
::
create
(
const
char
*
imgfilename
,
int
bgcolor
,
int
bgthreshold
,
void
Dataset
Generator
::
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
::~
Samples
Generator
()
DatasetGenerator
::~
Dataset
Generator
()
{
{
delete
writer
;
delete
writer
;
}
}
TestSamplesGenerator
::
TestSamplesG
enerator
(
const
char
*
filename
)
JpgDatasetGrenerator
::
JpgDatasetGr
enerator
(
const
char
*
filename
)
:
Samples
Generator
(
IOutput
::
createOutput
(
filename
,
IOutput
::
JPG_TEST_SET
))
:
Dataset
Generator
(
IOutput
::
createOutput
(
filename
,
IOutput
::
JPG_TEST_SET
))
{
{
}
}
CvSize
TestSamplesG
enerator
::
scaleObjectSize
(
const
CvSize
&
bgImgSize
,
CvSize
JpgDatasetGr
enerator
::
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
Samples
Generator
::
getObjectPosition
(
const
CvSize
&
bgImgSize
,
CvRect
Dataset
Generator
::
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,
}
}
Png
TrainingSetGenerator
::
PngTrainingS
etGenerator
(
const
char
*
filename
)
Png
DatasetGenerator
::
PngDatas
etGenerator
(
const
char
*
filename
)
:
Samples
Generator
(
IOutput
::
createOutput
(
filename
,
IOutput
::
PNG_TRAINING_SET
))
:
Dataset
Generator
(
IOutput
::
createOutput
(
filename
,
IOutput
::
PNG_TRAINING_SET
))
{
{
}
}
CvSize
Png
TrainingS
etGenerator
::
scaleObjectSize
(
const
CvSize
&
bgImgSize
,
CvSize
Png
Datas
etGenerator
::
scaleObjectSize
(
const
CvSize
&
bgImgSize
,
const
CvSize
&
imgSize
,
const
CvSize
&
imgSize
,
const
CvSize
&
)
const
const
CvSize
&
)
const
{
{
...
...
apps/haartraining/cvhaartraining.h
View file @
57cf3d17
...
@@ -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
Samples
Generator
class
Dataset
Generator
{
{
public
:
public
:
Samples
Generator
(
IOutput
*
_writer
);
Dataset
Generator
(
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
~
Samples
Generator
();
virtual
~
Dataset
Generator
();
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
:
TestSamplesG
enerator
(
const
char
*
filename
);
JpgDatasetGr
enerator
(
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
Png
TrainingSetGenerator
:
public
Samples
Generator
class
Png
DatasetGenerator
:
public
Dataset
Generator
{
{
public
:
public
:
Png
TrainingS
etGenerator
(
const
char
*
filename
);
Png
Datas
etGenerator
(
const
char
*
filename
);
private
:
private
:
CvSize
scaleObjectSize
(
const
CvSize
&
bgImgSize
,
CvSize
scaleObjectSize
(
const
CvSize
&
bgImgSize
,
const
CvSize
&
imgSize
,
const
CvSize
&
imgSize
,
...
...
apps/haartraining/cvsamplesoutput.cpp
View file @
57cf3d17
...
@@ -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
Png
TrainingS
etOutput
();
output
=
new
Png
Datas
etOutput
();
break
;
break
;
case
IOutput
:
:
JPG_TEST_SET
:
case
IOutput
:
:
JPG_TEST_SET
:
output
=
new
TestSamples
Output
();
output
=
new
JpgDataset
Output
();
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
Png
TrainingS
etOutput
::
init
(
const
char
*
annotationsListFileName
)
bool
Png
Datas
etOutput
::
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
Png
TrainingS
etOutput
::
write
(
const
CvMat
&
img
,
bool
Png
Datas
etOutput
::
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
Png
TrainingS
etOutput
::
writeImage
(
const
CvMat
&
img
)
const
void
Png
Datas
etOutput
::
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
Png
TrainingS
etOutput
::
scaleBoundingBox
(
const
CvSize
&
imgSize
,
const
CvRect
&
bbox
)
CvRect
Png
Datas
etOutput
::
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
TestSamples
Output
::
write
(
const
CvMat
&
img
,
bool
JpgDataset
Output
::
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
"
,
imgF
ullPath
,
imgF
ileName
,
1
,
1
,
boundingBox
.
x
,
boundingBox
.
x
,
boundingBox
.
y
,
boundingBox
.
y
,
...
...
apps/haartraining/cvsamplesoutput.h
View file @
57cf3d17
...
@@ -3,16 +3,16 @@
...
@@ -3,16 +3,16 @@
#include "ioutput.h"
#include "ioutput.h"
class
Png
TrainingS
etOutput
:
public
IOutput
class
Png
Datas
etOutput
:
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
~
Png
TrainingS
etOutput
(){}
virtual
~
Png
Datas
etOutput
(){}
private
:
private
:
Png
TrainingS
etOutput
()
Png
Datas
etOutput
()
:
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
TestSamples
Output
:
public
IOutput
class
JpgDataset
Output
:
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
~
TestSamples
Output
(){}
virtual
~
JpgDataset
Output
(){}
private
:
private
:
TestSamples
Output
(){}
JpgDataset
Output
(){}
};
};
#endif // CVSAMPLESOUTPUT_H
#endif // CVSAMPLESOUTPUT_H
doc/user_guide/ug_traincascade.rst
View file @
57cf3d17
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment