Main Content

immultiply

Multiply two images or multiply image by constant

Description

example

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.

Examples

collapse all

Read a grayscale image into the workspace, then convert the image to uint8.

I = imread('moon.tif');
I16 = uint16(I);

Multiply the image by itself. Note that immultiply converts the class of the image from uint8 to uint16 before performing the multiplication to avoid truncating the results.

J = immultiply(I16,I16);

Show the original image and the processed image.

imshow(I)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(J)

Figure contains an axes. The axes contains an object of type image.

Read an image into the workspace.

I = imread('moon.tif');

Scale each value of the image by a constant factor of 0.5.

J = immultiply(I,0.5);

Display the original image and the processed image.

imshow(I)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(J)

Figure contains an axes. The axes contains an object of type image.

Input Arguments

collapse all

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

Second array to be multiplied with X, specified as a numeric scalar, numeric array, or logical array.

  • If X is numeric, then the size and class of Y can have one of the following values:

    • Y is the same size and class as X.

    • Y is the same size as X and is logical.

    • Y is a scalar of type double.

  • If X is logical, then Y must have the same size as X. Y can be any class.

Output Arguments

collapse all

Product, returned as a numeric array.

  • If X is numeric, then Z has the same size and class as X.

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

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

Tips

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

Introduced before R2006a