exponenta event banner

imerase

Удаление пикселов изображения в прямоугольной области, представляющей интерес

Описание

пример

Ierased = imerase(I,rect) удалить пикселы изображения I внутри прямоугольной области, определяемой rect и возвращает изображение со стертой областью, Ierased.

пример

Ierased = imerase(I,rect,'FillValues',fillValues) также указывает значение заливки, применяемое к стертым пикселям.

Примеры

свернуть все

Чтение и отображение изображения.

I = imread("peppers.png");
imshow(I)

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

Выберите прямоугольную область размером 50 на 100 пикселей из случайного расположения на изображении.

rect = randomWindow2d(size(I),[50 100]);

Стереть пикселы в прямоугольной области.

J = imerase(I,rect);

Отображение стертого изображения. Стертые пикселы имеют значение 0 и выглядят черными.

imshow(J)

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

Чтение и отображение изображения.

I = imread("car1.jpg");
imshow(I)

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

Укажите размер и положение прямоугольника стирания в виде 4-элементного вектора формы [xmin ymin width height].

rect = [1040 1525 250 200];

Удалите пикселы из прямоугольной области и заполните стертые пикселы зеленым цветом.

J = imerase(I,rect,"FillValues",[0 255 0]);

Отображение стертого изображения.

imshow(J)

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

Чтение и отображение цветного изображения.

I = imread('flamingos.jpg');
imshow(I)

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

Выберите случайное квадратное окно из изображения. Площадь окна составляет от 2% до 13% от площади всего изображения.

win = randomWindow2d(size(I),"Scale",[0.02 0.13],"DimensionRatio",[1 1;1 1]);

Определите высоту и ширину области стирания.

hwin = diff(win.YLimits)+1;
wwin = diff(win.XLimits)+1;

Стереть пикселы в области стирания. Заполните каждый пиксель случайным цветом.

J = imerase(I,win,"FillValues",randi([1 255],[hwin wwin 3]));

Отображение стертого изображения.

imshow(J)

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

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

свернуть все

Изображение с областью, подлежащей стиранию, указанное как цифровая матрица, представляющая изображение в градациях серого, или числовой массив с тремя каналами, представляющими цветное изображение.

Размер и положение прямоугольника стирания, заданного как 4-элементный числовой вектор вида [xmin ymin width height ] или images.spatialref.Rectangle объект.

Значение заливки, применяемое к стертым пикселям, указанное как одно из этих значений.

Значение заполненияРезультат
числовой скалярЗаполните стертые пикселы изображения в градациях серого или RGB указанным значением серого цвета.
3-элементный числовой векторЗаполните стертые пикселы изображения RGB указанным цветом.
числовая матрицаЗаполните каждый стертый пиксель изображения в градациях серого или RGB соответствующим значением серого в fillValue. Матрица, указанная fillValue должны иметь ту же высоту и ширину, что и стирающий прямоугольник, rect.
числовой массив с 3 плоскостямиЗаполните каждый стертый пиксель изображения RGB цветом в соответствующем пикселе fillValue. Массив, указанный fillValue должны иметь ту же высоту и ширину, что и стирающий прямоугольник, rect.

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

свернуть все

Изображение со стертой областью, возвращаемое в виде цифровой матрицы или числового массива того же размера, что и входное изображение, I.

См. также

|

Представлен в R2021a