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: