Vips.Image.gaussmat (original) (raw)
Constructor
VipsImagegaussmat
Declaration [src]
int
vips_gaussmat (
VipsImage** out,
double sigma,
double min_ampl,
...
)
Description [src]
Creates a circularly symmetric Gaussian image of radiussigma.
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.
Optional arguments
separable:gboolean, generate a separable gaussianprecision: VipsPrecision forout
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.