Table of Contents

Method Create

Namespace
OpenCvSharp.XImgProc
Assembly
OpenCvSharp.dll

Create(int, int, int, int, int, int, int, bool)

Initializes a SuperpixelSEEDS object.

The function initializes a SuperpixelSEEDS object for the input image. It stores the parameters of the image: image_width, image_height and image_channels.It also sets the parameters of the SEEDS superpixel algorithm, which are: num_superpixels, num_levels, use_prior, histogram_bins and double_step.

The number of levels in num_levels defines the amount of block levels that the algorithm use in the optimization.The initialization is a grid, in which the superpixels are equally distributed through the width and the height of the image.The larger blocks correspond to the superpixel size, and the levels with smaller blocks are formed by dividing the larger blocks into 2 x 2 blocks of pixels, recursively until the smaller block level. An example of initialization of 4 block levels is illustrated in the following figure.

public static SuperpixelSEEDS Create(int imageWidth, int imageHeight, int imageChannels, int numSuperpixels, int numLevels, int prior = 2, int histogramBins = 5, bool doubleStep = false)

Parameters

imageWidth int

Image width.

imageHeight int

Image height.

imageChannels int

Number of channels of the image.

numSuperpixels int

Desired number of superpixels. Note that the actual number may be smaller due to restrictions(depending on the image size and num_levels). Use getNumberOfSuperpixels() to get the actual number.

numLevels int

Number of block levels. The more levels, the more accurate is the segmentation, but needs more memory and CPU time.

prior int

enable 3x3 shape smoothing term if >0. A larger value leads to smoother shapes. prior must be in the range[0, 5].

histogramBins int

Number of histogram bins.

doubleStep bool

If true, iterate each block level twice for higher accuracy.

Returns

SuperpixelSEEDS