opencv_createsamples - create training and testing samples
opencv_createsamples creates positive samples from a single object image or a collection of positive images.
The scheme of test samples creation is similar to training samples creation since each test sample is a background image into which a randomly distorted and randomly scaled instance of the object picture is pasted at a random position.
supports the following options:
A database of positive source images. Use it together with -img to create test samples instead.
A positive source image. Use it together with -info to create test samples instead.
The output file name containing the generated positive samples for training.
The background description file (the negative sample set). It contains a list of images into which randomly distorted versions of the object are pasted for positive sample generation.
The number of positive samples to generate/train. The default is 1000.
The background color (currently grayscale images are assumed); the background color denotes the transparent color. The default is 0.
Invert the colors.
The desired maximum intensity deviation of foreground samples pixels. The default is 40.
The maximum rotation angle in x-direction in radians. The default is 1.1.
The maximum rotation angle in y-direction in radians. The default is 1.1.
The maximum rotation angle in z-direction in radians. The default is 0.5.
Show each created sample during the creation process. Optionally a scaling factor can be defined. The default is 4.0.
If <ESC> is pressed, the creation process will continue without showing the samples. This can be useful for debugging purposes.
For the creation of training samples, it is the resulting sample height. The default is 24.
In case of creating test samples, it is the minimal height of placed object picture.
For the creation of training samples, it is the resulting sample width. The default is 24.
In case of creating test samples, it is the minimal width of placed object picture.
The same information is shown, if opencv_createsamples is called without any arguments/options.
To create training samples from one image applying distortions and show the results:
opencv_createsamples -img source.png -num 10 -bg negatives.dat -vec samples_out.vec -show
To create training samples of size 40x40 from some images without applying distortions:
opencv_creasamples -info source.dat -vec samples_out.vec -w 40 -h 40
More information and examples can be found in the OpenCV documentation.