主要内容

immultiply

将两个图像相乘或者将图像乘以常量

说明

Z = immultiply(X,Y) 将数组 X 中的每个元素乘以数组 Y 中的对应元素,并将乘积返回到输出数组 Z 的对应元素中。

示例

示例

全部折叠

将一个灰度图像读入工作区中,然后将该图像转换为 uint8

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

将图像与其自身相乘。请注意,在执行乘法之前,immultiply 会将图像的类从 uint8 转换为 uint16 以避免截断结果。

J = immultiply(I16,I16);

显示原始图像和处理后的图像。

imshow(I)

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

figure
imshow(J)

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

将图像读入工作区。

I = imread('moon.tif');

将图像的每个值按常量因子 0.5 进行缩放。

J = immultiply(I,0.5);

显示原始图像和处理后的图像。

imshow(I)

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

figure
imshow(J)

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

输入参数

全部折叠

第一个数组,指定为任意维度的数值数组或逻辑数组。

要与 X 相乘的第二个数组,指定为数值标量、数值数组或逻辑数组。

  • 如果 X 是数值数组,则 Y 的大小和类可以是以下值之一:

    • YX 的大小和类相同。

    • YX 的大小相同,并且为逻辑数组。

    • Y 是类型为 double 的标量。

  • 如果 X 是逻辑数组,则 Y 必须与 X 具有相同的大小。Y 可以是任何类。

输出参量

全部折叠

乘积,以数值数组形式返回。

  • 如果 X 是数值数组,则 ZX 具有相同的大小和类。

  • 如果 X 是逻辑数组,则 ZY 具有相同的大小和类。

immultiply 以双精度浮点形式单独计算 Z 的每个元素。如果 XY 是整数数组,则将截断 Z 中超出整数类型范围的元素,且将舍入小数值。

提示

  • 如果 XY 是具有相同大小和类的数值数组,则可以使用表达式 X.*Y 代替 immultiply

版本历史记录

在 R2006a 之前推出