adds an amount x to each channel value in image.


gives an image in which each pixel is the sum of the corresponding pixels in image1 and image2.


adds all expri to image, where each expri can be either an image, a number, or a color value.


  • The image returned by ImageAdd[image,] has the same dimensions as image.
  • In ImageAdd[image,x], x can be a number normally in the range 0 to 1, a color, or a list of color channel values.
  • ImageAdd[image,x] typically gives an image with the same underlying data type as image, clipping or truncating values if necessary.
  • If the image dimensions are different, ImageAdd[image1,image2] adds image2 at the center of image1.
  • If image1 or image2 is a single-channel image, its values are added to the values in each channel of the other image in ImageAdd[image1,image2].
  • If image1 and image2 are both multichannel images, the values in each channel are added separately.
  • ImageAdd[image1,image2] gives an image with the largest type of either image1 or image2, clipping or truncating values if necessary.
  • For binary images, ImageAdd effectively finds the logical OR of pixel values.
  • ImageAdd[image,expr1,expr2,] folds ImageAdd on the list of arguments.
  • ImageAdd[{image,expr1,expr2,}] is equivalent to ImageAdd[image,expr1,expr2,].
  • ImageAdd works with Image3D objects.


open allclose all

Basic Examples  (3)

Brighten a color image by adding a constant amount to all channels:

Add two color images:

Logical OR of two binary images:

Scope  (3)

Mask an image by adding a thresholded version of it:

Add multiple images to each other:

Add a noise image to a 3D image:

Applications  (3)

Uniform additive noise:

Create a sepia image:

Convert a color image to a sepia image:

Multiply by a Gaussian frame to create a vignette effect:

Possible Issues  (3)

Numerical rounding in finite-precision images can be affected by the limited precision of machine arithmetic:

When adding images of different color spaces, channel values are added respectively:

The resulting image will have an Automatic color space:

When adding images of integer types, pixel value clipping is happening:

Adjusting cannot restore the clipped values:

Use a real image type to avoid clipping:

Wolfram Research (2008), ImageAdd, Wolfram Language function, (updated 2014).


Wolfram Research (2008), ImageAdd, Wolfram Language function, (updated 2014).


@misc{reference.wolfram_2020_imageadd, author="Wolfram Research", title="{ImageAdd}", year="2014", howpublished="\url{}", note=[Accessed: 10-May-2021 ]}


@online{reference.wolfram_2020_imageadd, organization={Wolfram Research}, title={ImageAdd}, year={2014}, url={}, note=[Accessed: 10-May-2021 ]}


Wolfram Language. 2008. "ImageAdd." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2014.


Wolfram Language. (2008). ImageAdd. Wolfram Language & System Documentation Center. Retrieved from