carta
im_extract_band(3)

im_extract_band3

Extract a portion of an image

Part of im_extract(3).

Usage

IMAGE *in, *out;

IMAGE_BOX *pbox;

IMAGE *in, *out;

int band;

IMAGE *in, *out;

int band;

int nbands;

IMAGE *in, *out;

int x, y, w, h;

Overview

im_extract(3) extracts a portion of the image pointed by in and writes the result to out. pbox specifies the size and position of the area to be extracted and is defined as

/* Used to define a region of interest for
* im_extract() etc.
*/
typedef struct {
int xstart;
int ystart;
int xsize;
int ysize;
int chsel;
} IMAGE_BOX;

see <vips/vips.h>. if pbox->chsel is set to -1, all bands are extracted; otherwise pbox->chsel gives the band to extract, numbering from zero. The area specified by pbox must lie entirely within the image.

Works for any size image, any number of bands, any type. Works for LABPACK coded images too! But disallows band extraction in this case.

If used as part of a pipeline of partial image operations, im_extract() magically vanishes if chsel is -1. See the VIPS IO System Guide.

im_extract_area(3) is a convenience function which extracts an area from an image, leaving the bands the same.

im_extract_bands(3) takes nbands out of an image, starting from band band. So, for example, nbands == 2, bands == 1 will form a two band image from an RGB image, where the two bands are the G and the B bands.

im_extract_band(3) is a convenience function which extracts a single band from an image.

Return value

The function returns 0 on success and -1 on error.

Author

J. Cupitt - 11/04/1990

From libvips10-dev 7.10.21-1 in Debian 4.0 (Etch). Parsed by carta from the page's man source.