## Documentation Center |

Multiply two images or multiply image by constant

`Z = immultiply(X,Y)`

`Z = immultiply(X,Y)` multiplies
each element in array `X` by the corresponding element
in array `Y` and returns the product in the corresponding
element of the output array `Z`.

If `X` and `Y` are real numeric
arrays with the same size and class, then `Z` has
the same size and class as `X`. If `X` is
a numeric array and `Y` is a scalar double, then `Z` has
the same size and class as `X`.

If `X` is logical and `Y` is
numeric, then `Z` has the same size and class as `Y`.
If `X` is numeric and `Y` is logical,
then `Z` has the same size and class as `X`.

`immultiply` computes each element of `Z` individually
in double-precision floating point. If `X` is an
integer array, then elements of `Z` exceeding the
range of the integer type are truncated, and fractional values are
rounded.

If `X` and `Y` are numeric
arrays of the same size and class, you can use the expression `X.*Y` instead
of `immultiply`.

Multiply an image by itself. Note how the example converts the
class of the image from `uint8` to `uint16` before
performing the multiplication to avoid truncating the results.

I = imread('moon.tif'); I16 = uint16(I); J = immultiply(I16,I16); imshow(I), figure, imshow(J)

Scale an image by a constant factor:

I = imread('moon.tif'); J = immultiply(I,0.5); subplot(1,2,1), imshow(I) subplot(1,2,2), imshow(J)

`imabsdiff` | `imadd` | `imcomplement` | `imdivide` | `imlincomb` | `imsubtract`

Was this topic helpful?