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
07a9d355
Commit
07a9d355
authored
Jun 03, 2011
by
Kirill Kornyakov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
The samples were updated through CommandLineParser class
parent
2c1e913b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
40 deletions
+54
-40
bagofwords_classification.cpp
samples/cpp/bagofwords_classification.cpp
+37
-31
bgfg_segm.cpp
samples/cpp/bgfg_segm.cpp
+17
-9
No files found.
samples/cpp/bagofwords_classification.cpp
View file @
07a9d355
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/features2d/features2d.hpp"
...
...
@@ -27,29 +28,26 @@ const string bowImageDescriptorsDir = "/bowImageDescriptors";
const
string
svmsDir
=
"/svms"
;
const
string
plotsDir
=
"/plots"
;
void
help
(
char
**
argv
)
{
cout
<<
"
\n
This program shows how to read in, train on and produce test results for the PASCAL VOC (Visual Object Challenge) data.
\n
"
<<
"It shows how to use detectors, descriptors and recognition methods
\n
"
"Using OpenCV version %s
\n
"
<<
CV_VERSION
<<
"
\n
"
<<
"Call:
\n
"
<<
"Format:
\n
./"
<<
argv
[
0
]
<<
" [VOC path] [result directory]
\n
"
<<
" or:
\n
"
<<
" ./"
<<
argv
[
0
]
<<
" [VOC path] [result directory] [feature detector] [descriptor extractor] [descriptor matcher]
\n
"
<<
"
\n
"
<<
"Input parameters:
\n
"
<<
"[VOC path] Path to Pascal VOC data (e.g. /home/my/VOCdevkit/VOC2010). Note: VOC2007-VOC2010 are supported.
\n
"
<<
"[result directory] Path to result diractory. Following folders will be created in [result directory]:
\n
"
<<
" bowImageDescriptors - to store image descriptors,
\n
"
<<
" svms - to store trained svms,
\n
"
<<
" plots - to store files for plots creating.
\n
"
<<
"[feature detector] Feature detector name (e.g. SURF, FAST...) - see createFeatureDetector() function in detectors.cpp
\n
"
<<
" Currently 12/2010, this is FAST, STAR, SIFT, SURF, MSER, GFTT, HARRIS
\n
"
<<
"[descriptor extractor] Descriptor extractor name (e.g. SURF, SIFT) - see createDescriptorExtractor() function in descriptors.cpp
\n
"
<<
" Currently 12/2010, this is SURF, OpponentSIFT, SIFT, OpponentSURF, BRIEF
\n
"
<<
"[descriptor matcher] Descriptor matcher name (e.g. BruteForce) - see createDescriptorMatcher() function in matchers.cpp
\n
"
<<
" Currently 12/2010, this is BruteForce, BruteForce-L1, FlannBased, BruteForce-Hamming, BruteForce-HammingLUT
\n
"
<<
"
\n
"
;
void
help
()
{
printf
(
"
\n
This program shows how to read in, train on and produce test results for the PASCAL VOC (Visual Object Challenge) data.
\n
"
"It shows how to use detectors, descriptors and recognition methods
\n
"
"Usage:
\n
"
"Format:
\n
"
"./bagofwords_classification
\n
"
"--voc_path=<Path to Pascal VOC data (e.g. /home/my/VOCdevkit/VOC2010).
\n
"
" Note: VOC2007-VOC2010 are supported.>
\n
"
"--result_directory=<Path to result directory. Following folders will be created in [result directory]:
\n
"
" bowImageDescriptors - to store image descriptors,
\n
"
" svms - to store trained svms,
\n
"
" plots - to store files for plots creating.
\n
"
"[--feature_detector]=<Feature detector name (e.g. SURF, FAST...) - see createFeatureDetector() function in detectors.cpp
\n
"
" Currently 12/2010, this is FAST, STAR, SIFT, SURF, MSER, GFTT, HARRIS>
\n
"
"[--descriptor_extractor]=<Descriptor extractor name (e.g. SURF, SIFT) - see createDescriptorExtractor() function in descriptors.cpp
\n
"
" Currently 12/2010, this is SURF, OpponentSIFT, SIFT, OpponentSURF, BRIEF>
\n
"
"[--descriptor_matcher]=<Descriptor matcher name (e.g. BruteForce) - see createDescriptorMatcher() function in matchers.cpp
\n
"
" Currently 12/2010, this is BruteForce, BruteForce-L1, FlannBased, BruteForce-Hamming, BruteForce-HammingLUT>
\n
"
"
\n
"
);
}
...
...
@@ -2507,16 +2505,24 @@ void computeGnuPlotOutput( const string& resPath, const string& objClassName, Vo
int
main
(
int
argc
,
char
**
argv
)
int
main
(
int
argc
,
c
onst
c
har
**
argv
)
{
if
(
argc
!=
3
&&
argc
!=
6
)
help
();
CommandLineParser
parser
(
argc
,
argv
);
const
string
vocPath
=
parser
.
get
<
string
>
(
"--voc_path"
);
const
string
resPath
=
parser
.
get
<
string
>
(
"--result_directory"
);
const
string
featureDetectName
=
parser
.
get
<
string
>
(
"--feature_detector"
);
const
string
descExtName
=
parser
.
get
<
string
>
(
"--descriptor_extractor"
);
const
string
descMatchName
=
parser
.
get
<
string
>
(
"--descriptor_matcher"
);
if
(
vocPath
.
empty
()
||
resPath
.
empty
())
{
help
(
argv
);
help
();
printf
(
"Cannot find --voc_path=%s or --result_directory=%s
\n
"
,
vocPath
.
c_str
(),
resPath
.
c_str
());
return
-
1
;
}
const
string
vocPath
=
argv
[
1
],
resPath
=
argv
[
2
];
// Read or set default parameters
string
vocName
;
DDMParams
ddmParams
;
...
...
@@ -2534,12 +2540,12 @@ int main(int argc, char** argv)
else
{
vocName
=
getVocName
(
vocPath
);
if
(
argc
!=
6
)
if
(
featureDetectName
.
empty
()
||
descExtName
.
empty
()
||
descMatchName
.
empty
()
)
{
cout
<<
"Feature detector, descriptor extractor, descriptor matcher must be set"
<<
endl
;
return
-
1
;
}
ddmParams
=
DDMParams
(
argv
[
3
],
argv
[
4
],
argv
[
5
]
);
// from command line
ddmParams
=
DDMParams
(
featureDetectName
.
c_str
(),
descExtName
.
c_str
(),
descMatchName
.
c_str
()
);
// from command line
// vocabTrainParams and svmTrainParamsExt is set by defaults
paramsFS
.
open
(
resPath
+
"/"
+
paramsFile
,
FileStorage
::
WRITE
);
if
(
paramsFS
.
isOpened
()
)
...
...
samples/cpp/bgfg_segm.cpp
View file @
07a9d355
#include "opencv2/core/core.hpp"
#include "opencv2/video/background_segm.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <stdio.h>
using
namespace
cv
;
using
namespace
std
;
void
help
()
{
printf
(
"
\n
Do background segmentation, especially demonstrating the use of cvUpdateBGStatModel().
\n
"
"Learns the background at the start and then segments.
\n
"
"Learning is togged by the space key. Will read from file or camera
\n
"
"
Call:
\n
"
"
./ bgfg_segm [file name -- if no name, read from camera]
\n\n
"
);
"
Learns the background at the start and then segments.
\n
"
"
Learning is togged by the space key. Will read from file or camera
\n
"
"
Usage:
\n
"
"
./bgfg_segm [--file_name]=<input file, camera as defautl>
\n\n
"
);
}
//this is a sample for foreground detection functions
int
main
(
int
argc
,
char
**
argv
)
int
main
(
int
argc
,
c
onst
c
har
**
argv
)
{
help
();
CommandLineParser
parser
(
argc
,
argv
);
string
fileName
=
parser
.
get
<
string
>
(
"file_name"
,
"0"
);
VideoCapture
cap
;
bool
update_bg_model
=
true
;
if
(
argc
<
2
)
if
(
fileName
==
"0"
)
cap
.
open
(
0
);
else
cap
.
open
(
argv
[
1
]);
help
();
cap
.
open
(
fileName
.
c_str
());
if
(
!
cap
.
isOpened
()
)
{
help
();
printf
(
"can not open camera or video file
\n
"
);
return
-
1
;
}
...
...
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