imsubtract

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

Синтаксис

Описание

пример

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

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

Примеры

свернуть все

В этом примере показано, как вычесть два 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
imshow(J)

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

I = imread('rice.png');

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

J = imsubtract(I,50);

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

imshow(I)

figure
imshow(J)

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

свернуть все

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

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

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

свернуть все

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

Смотрите также

| | | | |

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

Для просмотра документации необходимо авторизоваться на сайте