### Method

# Vips Image min

#### Declaration [src]

    int
    vips_min (
      VipsImage* in,
      double* out,
      ...
    )

#### Description [src]

This operation finds the minimum value in an image.

By default it finds the single smallest value. If `size` is set >1, it will find the `size` smallest values. It will stop searching early if has found enough values. Equal values will be sorted by y then x.

It operates on all bands of the input image: use `vips_stats()` if you need to find an minimum for each band.

For complex images, this operation finds the minimum modulus.

You can read out the position of the minimum with `x` and `y`. You can read out arrays of the values and positions of the top `size` minima with `out_array`, `x_array` and `y_array`. These values are returned sorted from smallest to largest.

If there are more than `size` minima, the minima returned will be a random selection of the minima in the image.

Optional arguments

- `x`: `gint`, output, horizontal position of minimum
- `y`: `gint`, output, vertical position of minimum
- `size`: `gint`, number of minima to find
- `out_array`: `VipsArrayDouble`, output, array of minimum values
- `x_array`: `VipsArrayInt`, output, corresponding horizontal positions
- `y_array`: `VipsArrayInt`, output, corresponding vertical positions

See also

`vips_min()`, `vips_stats()`.

This method is not directly available to language bindings.

#### Parameters

`out`

  Type: `double*`

  Output pixel minimum.

  The argument will be set by the function.

`...`

  Type: ``

  `NULL`-terminated list of optional named arguments.

#### Return value

Type: `int`

0 on success, -1 on error.