主要内容

imerase

删除感兴趣的矩形区域内的图像像素

描述

例子

Ierased= imerase (矩形删除图像像素定义的矩形区域内矩形并返回被擦除区域的图像,Ierased

例子

Ierased= imerase (矩形“FillValues”,fillValues还指定要应用于擦除像素的填充值。

例子

全部折叠

读取并显示图像。

I = imread(“peppers.png”);imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

从图像中的随机位置选择一个大小为50 × 100像素的矩形区域。

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

擦除矩形区域内的像素。

J = imerase(I,rect);

显示已擦除的映像。擦除的像素具有该值0

imshow (J)

图中包含一个轴对象。axis对象包含一个image类型的对象。

读取并显示图像。

I = imread(“car1.jpg”);imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

将擦除矩形的大小和位置指定为形式为[的4元素向量xminymin宽度高度]。

Rect = [1040 1525 250 200];

擦除矩形区域内的像素,并用绿色填充擦除的像素。

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

显示已擦除的映像。

imshow (J)

图中包含一个轴对象。axis对象包含一个image类型的对象。

读取并显示彩色图像。

I = imread(“flamingos.jpg”);imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

从图像中随机选择一个方形窗口。窗口的面积在整个图像面积的2%到13%之间。

win = randomWindow2d(size(I),“规模”(0.02 - 0.13),“DimensionRatio”,[11 1; 11 1]);

确定擦除区域的高度和宽度。

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

擦除区域内的像素。用随机的颜色填充每个像素。

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

显示已擦除的映像。

imshow (J)

图中包含一个轴对象。axis对象包含一个image类型的对象。

输入参数

全部折叠

具有待擦除区域的图像,指定为表示灰度图像的数字矩阵或具有表示彩色图像的三个通道的数字数组。

擦除矩形的大小和位置,指定为形式为[的4元素数值向量]。xminymin宽度高度或a矩形对象。

要应用于擦除像素的填充值,指定为这些值之一。

填值 结果
数字标量 用指定的灰度值填充灰度或RGB图像的擦除像素。
三元数值向量 用指定的颜色填充RGB图像的擦除像素。
数字矩阵 用中对应的灰度值填充灰度或RGB图像的每个擦除像素fillValue.由fillValue必须和擦除矩形有相同的高度和宽度,矩形
3个平面的数字数组 的对应像素中的颜色填充RGB图像的每个擦除像素fillValue.指定的数组。fillValue必须和擦除矩形有相同的高度和宽度,矩形

输出参数

全部折叠

带有擦除区域的图像,作为与输入图像相同大小的数值矩阵或数值数组返回,

版本历史

R2021a中引入

另请参阅

|