2026b

# imdilate


膨胀图像

函数库: TyImages

# 语法

J = imdilate(I,SE)
J = imdilate(I,nhood)
J = imdilate(___,packopt)
J = imdilate(___,shape)

# 说明

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


J = imdilate(I,nhood) 对图像 I 执行扩张运算,其中 nhood 是由 0 和 1 组成的矩阵,用于指定结构元素邻域。 此语法等效于 imdilate(I,strel(nhood))。


J = imdilate(___,packopt) 指定 I 是否为压缩二值图像。


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

# 示例

用垂直线结构元素膨胀图像

将二值图像读入工作区。

using TyImages
using TyImageProcessing
using TyPlot

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

创建一个垂直线形结构元素。

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

用垂直线结构元素膨胀图像并比较结果。

BW2 = TyImages.imdilate(BW, se);
TyImages.imshow(BW), title("Original")
figure(), TyImages.imshow(BW2), title("Dilated")
用滚动球膨胀灰度图像

将灰度图像读入工作区。

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/imdilate1.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

膨胀该图像。

dilatedI = TyImages.imdilate(originalI,se);

显示原始图像和膨胀的图像。

figure()
subplot(1, 2, 1);
TyImages.imshow(originalI)
subplot(1, 2, 2);
TyImages.imshow(dilatedI)

# 输入参数

I - 输入图像
RGB 图像 | 灰度图像 | 二值图像
输入图像,指定为 RGB、灰度或二值图像。

# 输出参数

J - 图像补码
灰度图像 | 二值图像 | 压缩二值图像
图像补码,指定为 RGB、灰度或二值图像。J 与输入图像 I 具有相同的大小和类。

# 另请参阅

# 函数

imerode | imclose | imopen

# 对象

strel