Main Content

imdivide

将一个图像除以另一个图像或用常量除以图像

说明

示例

Z = imdivide(X,Y) 将数组 X 中的每个元素除以数组 Y 中的对应元素,并将结果返回到输出数组 Z 的对应元素中。

示例

全部折叠

此示例说明如何将两个 uint8 数组相除。

X = uint8([ 255 0 75; 44 225 100]);
Y = uint8([ 50 50 50; 50 50 50 ]);

X 中的每个元素除以 Y 中对应的元素。请注意,大于或等于 0.5 的小数值会向上舍入到最邻近的整数。

Z = imdivide(X,Y)
Z = 2x3 uint8 matrix

   5   0   2
   1   5   2

Y 中的每个元素除以 X 中对应的元素。请注意,当除以零时,输出截断为整数类型的范围。

W = imdivide(Y,X)
W = 2x3 uint8 matrix

     0   255     1
     1     0     1

将灰度图像读入工作区。

I = imread('rice.png');

估计背景。

background = imopen(I,strel('disk',15));

将图像除以背景。

J = imdivide(I,background);

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

imshow(I)

figure
imshow(J,[])

将图像读入工作区。

I = imread('rice.png');

将图像的每个值除以常量因子 2。

J = imdivide(I,2);

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

imshow(I)

figure
imshow(J)

输入参数

全部折叠

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

要与 X 相除的第二个数组(除数),指定为与 X 具有相同的大小和类的数值或逻辑数组,或者是 double 类型的数值标量。

输出参量

全部折叠

商,以与 X 大小相同的数值数组形式返回。ZX 属于同一个类,但在 X 为逻辑值时,Z 属于数据类型 double。如果 X 是整数数组,将截断超出整数类型范围的输出元素,且将舍入小数值。

版本历史记录

在 R2006a 之前推出