Main Content


Add two images or add constant to image



Z = imadd(X,Y) adds each element in array X with the corresponding element in array Y and returns the sum in the corresponding element of the output array Z.


collapse all

This example shows how to add two uint8 arrays with truncation for values that exceed 255.

X = uint8([ 255 0 75; 44 225 100]);
Y = uint8([ 50 50 50; 50 50 50 ]);
Z = imadd(X,Y)
Z = 2x3 uint8 matrix

   255    50   125
    94   255   150

Read two grayscale uint8 images into the workspace.

I = imread('rice.png');
J = imread('cameraman.tif');

Add the images. Specify the output as type uint16 to avoid truncating the result.

K = imadd(I,J,'uint16');

Display the result.


Read an image into the workspace.

I = imread('rice.png');

Add a constant to the image.

J = imadd(I,50);

Display the original image and the result.



Input Arguments

collapse all

First array, specified as a numeric array or logical array of any dimension.

Second array to be added to X, specified as a numeric or logical array of the same size and class as X, or a numeric scalar of type double.

Output Arguments

collapse all

Sum, returned as a numeric array of the same size as X. Z is the same class as X unless X is logical, in which case Z is data type double. If X is an integer array, elements of the output that exceed the range of the integer type are truncated, and fractional values are rounded.

Version History

Introduced before R2006a