Constructor

VipsImagegaussmat

Declaration [src]

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

Description [src]

Optional arguments:

  • separable: generate a separable gaussian
  • precision: VipsPrecision for out

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 #VIPS_PRECISION_INTEGER.

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

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

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

See also: vips_logmat(), vips_conv().

This constructor is not directly available to language bindings.

Parameters

out

Type: VipsImage

Output image.

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

Type: double

Standard deviation of mask.

min_ampl

Type: double

Minimum amplitude.

...

Type: 

NULL-terminated list of optional named arguments.

Return value

Type: int

0 on success, -1 on error.