SIVP Toolbox
Last update : July, 2006

imlincomb - Linear combination of images

### Calling Sequence

  `imout = imlincomb(k1, im1, k2, im2, ..., kn, imn)`
  `imout = imlincomb(k1, im1, k2, im2, ..., kn, imn, K)`
  `imout = imlincomb(..., output_class)`

### Parameters

- `im1, im2, ..., imn`: Input images with the same size and class.
- `k1, k2, ..., kn`: Double scalars.
- `K`: Offset, a double scalar.
- `output_class`: A string which specifies the output image class. The value of `output_class` can be 'int8', 'uint8', 'int16', 'uint16', 'int32' or 'constant'.
- `imout`: The linear combination of input images, which has the same size and class with input images or specified by `output_class`.

### Description

`imcomplement` computes the linear combination of input images.

`imout = k1*im1 + k2*im2 + ... + kn*imn [+K]`

If `imout` is an integer matrix, the elements in the output matrix `imout` that exceed the range of the integer type will be truncated.

Supported classes: INT8, UINT8, INT16, UINT16, INT32, DOUBLE.

### Examples

        im1 = uint8([0, 50, 100; 150, 200, 250]);
        im2 = uint8([1, 52, 103; 154, 205, 255]);
        imlincomb( 0.43, im1, 0.7, im2)
        imlincomb( 0.43, im1, 0.7, im2, 4)
        imlincomb( 0.43, im1, 0.7, im2, 4, 'int16')
        imlincomb( 0.43, im1, 0.7, im2, 4, 'constant')

### Authors

  Shiqi Yu <shiqi.yu[at]gmail.com>

### Availability

The latest version of SIVP can be found at

http://sivp.sourceforge.net

### See Also

`imabsdiff`, `imadd`, `imsubtract`, `immultiply`, `imdivide`, `imcomplement`,