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
imageWidthintImage width.
imageHeightintImage height.
imageChannelsintNumber of channels of the image.
numSuperpixelsintDesired 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.
numLevelsintNumber of block levels. The more levels, the more accurate is the segmentation, but needs more memory and CPU time.
priorintenable 3x3 shape smoothing term if >0. A larger value leads to smoother shapes. prior must be in the range[0, 5].
histogramBinsintNumber of histogram bins.
doubleStepboolIf true, iterate each block level twice for higher accuracy.