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 具有相同的数据类型。