2026b

# imerode


腐蚀图像

函数库: TyImages

# 语法

J = imerode(I,SE)
J = imerode(I,nhood)
J = imerode(___,packopt,m)
J = imerode(___,shape)

# 说明

J = imerode(I,SE) 使用结构元素 SE 腐蚀灰度、二值或压缩二值图像 I。


J = imerode(I,nhood) 腐蚀图像 I,其中 nhood 是由指定结构元素邻域的 0 和 1 组成的矩阵。 此语法等效于 imerode(I,strel(nhood))。


J = imerode(___,packopt,m) 指定输入图像 I 是否为压缩二值图像。m 指定原始未压缩图像的行维度。


J = imerode(___,shape) 指定输出图像的大小。

# 示例

用线条结构元素腐蚀二值图像

将二值图像读入工作区。

using TyImages
using TyImageProcessing
using TyPlot

pkg_dir = pkgdir(TyImageProcessing)
source_path = pkg_dir * "/resources/text.png"
originalBW = TyImages.imread(source_path);

创建一个平面线形结构元素。

se = fill(UInt8(1), 11, 1);

用该结构元素腐蚀图像。

erodedBW = TyImages.imerode(originalBW, se);

查看原始图像和腐蚀的图像。

figure()
TyImages.imshow(originalBW)
figure()
TyImages.imshow(erodedBW)
用滚球腐蚀灰度图像

将灰度图像读入工作区。

using TyImages
using TyImageProcessing
using TyPlot
using TyBase

pkg_dir = pkgdir(TyImageProcessing)
source_path = pkg_dir * "/resources/cameraman.tif"
originalI  = TyImages.imread(source_path);

创建一个腐蚀对象。

source_path = pkg_dir * "/resources/imerode1.mat"
load(source_path);
se = se .!= 0
se = 
11×11 BitMatrix:
 1  1  0  1  1  1  1  1  0  1  1
 1  1  1  1  1  1  1  1  1  1  1
 0  1  1  1  1  1  1  1  1  1  0
 1  1  1  1  1  1  1  1  1  1  1
 1  1  1  1  1  1  1  1  1  1  1
 1  1  1  1  1  1  1  1  1  1  1
 1  1  1  1  1  1  1  1  1  1  1
 1  1  1  1  1  1  1  1  1  1  1
 0  1  1  1  1  1  1  1  1  1  0
 1  1  1  1  1  1  1  1  1  1  1
 1  1  0  1  1  1  1  1  0  1  1

腐蚀该图像。

erodedI = TyImages.imerode(originalI,se);

显示原始图像和腐蚀的图像。

figure()
TyImages.imshow(originalI)
figure()
TyImages.imshow(erodedI)

# 输出参数

J - 腐蚀的图像
RGB 图像 | 灰度图像 | 二值图像
腐蚀的图像,以灰度图像、二值图像或压缩二值图像形式返回。如果输入图像 I 是压缩二值图像,则 J 也是压缩二值图像。J 与 I 具有相同的数据类型。

# 另请参阅

# 函数

imdilate | imclose | imopen

# 对象

strel