imsubtract

Вычесть одно изображение из другого или вычесть константу из изображения

Синтаксис

Описание

пример

Z = imsubtract(X,Y) вычитает каждый элемент в массиве Y из соответствующего элемента в массиве X и возвращает различие в соответствующем элементе массива выхода Z.

Примеры

свернуть все

Этот пример показывает, как вычесть два uint8 массивы. Обратите внимание, что отрицательные результаты округлены до 0.

X = uint8([ 255 0 75; 44 225 100]);
Y = uint8([ 50 50 50; 50 50 50 ]);
Z = imsubtract(X,Y)
Z = 2x3 uint8 matrix

   205     0    25
     0   175    50

Считайте полутоновое изображение в рабочую область.

I = imread('rice.png');

Оцените фон.

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

Вычесть фон из изображения.

J = imsubtract(I,background);

Отобразите оригинальное изображение и обработанное изображение.

imshow(I)

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

figure
imshow(J)

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

Чтение изображения в рабочую область.

I = imread('rice.png');

Вычесть постоянное значение из изображения.

J = imsubtract(I,50);

Отобразите оригинальное изображение и результат.

imshow(I)

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

figure
imshow(J)

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

Входные параметры

свернуть все

Первый массив (minuend), заданный как числовой массив или логический массив любой размерности.

Второй массив (вычитание), который будет вычитаться из X, заданный как числовой массив или логический массив того же размера и класса, что и X, или числовой скаляр типа double.

Выходные аргументы

свернуть все

Различие, возвращенная в виде числового массива того же размера, что и X. Z - тот же класс, что и X если только X логично, в каком случае Z является типом данных double. Если X является целочисленным массивом, затем элементы выхода, которые превышают область значений целого типа, обрезаются, а дробные значения округляются.

Представлено до R2006a