Image Processing Toolbox User's Guide |

Subtract one image from another, or subtract a constant from an image

**Syntax**

**Description**

`Z = imsubtract(X,Y)`

subtracts each element in array `Y`

from the corresponding element in array `X`

and returns the difference in the corresponding element of the output array `Z`

. `X`

and `Y`

are real, nonsparse numeric arrays of the same size and class, or `Y`

is a double scalar. The array returned, `Z`

, has the same size and class as `X`

unless `X`

is logical, in which case `Z`

is double.

If X is an integer array, then elements of the output that exceed the range of the integer type are truncated, and fractional values are rounded.

**Examples**

Subtract two `uint8`

arrays. Note that negative results are rounded to `0`

.

X = uint8([ 255 10 75; 44 225 100]); Y = uint8([ 50 50 50; 50 50 50 ]); Z = imadd(X,Y) Z = 205 0 25 0 175 50

Estimate and subtract the background of an image:

I = imread('rice.png'); background = imopen(I,strel('disk',15)); Ip = imsubtract(I,background); imshow(Ip,[])

Subtract a constant value from an image:

**See Also **

`imabsdiff`

, `imadd`

, `imcomplement`

, `imdivide`

, `imlincomb`

, `immultiply`

, `ippl`

imshow | imtool |

© 1994-2005 The MathWorks, Inc.