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 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('rice.png');

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

J = imdivide(I,2);

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

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 具有相同的大小和类的数值或逻辑数组,或者是 double 类型的数值标量。

输出参量

全部折叠

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

版本历史记录

在 R2006a 之前推出