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?