Method

VipsImagelinear

Declaration [src]

int
vips_linear (
  VipsImage* in,
  VipsImage** out,
  const double* a,
  const double* b,
  int n,
  ...
)

Description [src]

Optional arguments

  • uchar: output uchar pixels

Pass an image through a linear transform, ie. (out = in * a + b). Output is float for integer input, double for double input, complex for complex input and double complex for double complex input. Set uchar to output uchar pixels.

If the arrays of constants have just one element, that constant is used for all image bands. If the arrays have more than one element and they have the same number of elements as there are bands in the image, then one array element is used for each band. If the arrays have more than one element and the image only has a single band, the result is a many-band image where each band corresponds to one array element.

This method 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 method takes ownership of the returned data, and is responsible for freeing it.
a

Type: An array of double

Array of constants for multiplication.

The length of the array is specified in the n argument.
The data is owned by the caller of the method.
b

Type: An array of double

Array of constants for addition.

The length of the array is specified in the n argument.
The data is owned by the caller of the method.
n

Type: int

Length of constant arrays.

...

Type: 

NULL-terminated list of optional named arguments.

Return value

Type: int

0 on success, -1 on error.