Divide one image into another or divide image by constant


Z = imdivide(X,Y)


Z = imdivide(X,Y) divides each element in the array X by the corresponding element in array Y and returns the result in the corresponding element of the output array Z. X and Y are real, nonsparse numeric arrays with the same size and class, or Y can be a scalar double. Z has the same size and class as X and Y, unless X is logical, in which case Z is double.

If X is an integer array, elements in the output that exceed the range of 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 imdivide.


Divide two uint8 arrays. Note that fractional values greater than or equal to 0.5 are rounded up to the nearest integer.

X = uint8([ 255 10 75; 44 225 100]);
Y = uint8([ 50 20 50; 50 50 50 ]);
Z = imdivide(X,Y)
Z =
     5     1     2
     1     5     2

Estimate and divide out the background of the rice image.

I = imread('rice.png');
background = imopen(I,strel('disk',15));
Ip = imdivide(I,background);

Divide an image by a constant factor.

I = imread('rice.png'); 
J = imdivide(I,2);
subplot(1,2,1), imshow(I)
subplot(1,2,2), imshow(J)
Was this topic helpful?