Table of Contents
scalespace.h implements a Gaussian scale space, a data structure representing an image at multiple resolutions [33] [13] [14] . Scale spaces have many use, including the detection of co-variant local features [15] such as SIFT, Hessian-Affine, Harris-Affine, Harris-Laplace, etc. Getting started demonstreates how to use the C API to compute the scalespace of an image. For further details refer to:
Getting started
Given an input image image
, the following example uses the VlScaleSpace object to compute its Gaussian scale space and return the image level
at scale (o,s)
, where o
is the octave and s
is the octave subdivision or sublevel:
The image level
is obtained by convolving image
by a Gaussian filter of isotropic standard deviation given by
The resolution of level
is in general different from the resolution of image
and is determined by the octave o
. It can be obtained as follows:
The parameter ogeom.step
is the sampling step relatively to the sampling of the input image image
. The ranges of valid octaves and scale sublevels can be obtained as
So for example o
minimum value is geom.firstOctave
and maximum value is geom.lastOctave
. The subdivision index s
naturally spans the range 0 to geom.octaveResolution-1
. However, the scale space object is flexible in that it allows different ranges of subdivisions to be computed and s
varies in the range geom.octaveFirstSubdivision
to geom.octaveLastSubdivision
. See Gaussian scale space fundamentals for further details.
The geometry of the scale space can be customized upon creation, as follows: