Constructor

VipsImagegaussmat

Declaration [src]

int
vips_gaussmat (
  VipsImage** out,
  double sigma,
  double min_ampl,
  ...
)

Description [src]

Creates a circularly symmetric Gaussian image of radius sigma.

The size of the mask is determined by the variable min_ampl; if for instance the value .1 is entered this means that the produced mask is clipped at values less than 10 percent of the maximum amplitude.

The program uses the following equation:

H(r) = exp(-(r * r) / (2 * @sigma * @sigma))

The generated image has odd size and its maximum value is normalised to 1.0, unless precision is VipsPrecision.

If separable is set, only the centre horizontal is generated. This is useful for separable convolutions.

If precision is VipsPrecision, an integer gaussian is generated. This is useful for integer convolutions.

scale” is set to the sum of all the mask elements.

::: tip “Optional arguments” * separable: gboolean, generate a separable gaussian * precision: VipsPrecision for out

::: seealso vips_logmat(), vips_conv().

Parameters

out VipsImage
 

Output image.

 The argument will be set by the function.
 The called function takes ownership of the data, and is responsible for freeing it.
sigma double
 

Standard deviation of mask.

min_ampl double
 

Minimum amplitude.

... none
 

NULL-terminated list of optional named arguments.

Return value

Returns: int
 

0 on success, -1 on error.