ImageMorph 图像形态学变换

图像形态学变换算子用于处理和分析图像的形状和结构特征。具体应用包含:

类型 功能
ErodeOperator 去除小的白色噪声,使得物体边界更加平滑。
DilateOperator 扩展图像中的前景像素,从而填补小的黑色噪声孔洞,使得物体边界更加突出。
OpeningOperator 去除图像中的小噪声,同时保持物体的整体形状。
ClosingOperator 填补物体中的小孔洞,连接断裂的部分。
Skeleton 分析物体的形状特征,提取物体的中心线。

ErodeOperator

将 ImageMorph 算子的类型选择ErodeOperator,用于去除小的白色噪声,使得物体边界更加平滑。该类型通过在图像上应用结构元素来侵蚀图像中的前景像素,从而达到去噪和平滑边界的效果。

算子参数

  • 结构核大小/kernel-size:指定结构元素的大小。结构核的大小通常用一个奇数来表示,例如 3、5、7 等。结构核越大,侵蚀效果越明显。

  • 结构核形状/kernel-shape:指定结构元素的形状。常见的形状包括矩形、椭圆形和十字形。

    • MORPH_RECT:矩形。

    • MORPH_CROSS:十字形。

    • MORPH_ELLIPSE:椭圆形。

  • 迭代次数/iterations:指定侵蚀操作的迭代次数。迭代次数越多,侵蚀效果越强。

  • 图像/image:设置图像形态学变换后图像在 2D视图中的可视化属性。

    • visOn 打开图像可视化。

    • m_visOff 关闭图像可视化。

  • 图像列表/image_list:设置图像形态学变换后图像列表在 2D视图中的可视化属性。

    • visOn 打开图像列表可视化。

    • m_visOff 关闭图像列表可视化。

数据信号输入输出

输入:

  • 图像 :

    • 数据类型:Image

    • 输入内容:图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输入内容:图像列表

输出:

  • 图像 :

    • 数据类型:Image

    • 输出内容:腐蚀后图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输出内容:腐蚀后图像列表

功能演示

使用 ImageMorph 算子的类型ErodeOperator,将加载图像进行腐蚀化操作。

步骤1:算子准备

添加 Trigger、Load、ImageMorph 算子至算子图。

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → 图像

    • 文件 → icon_more → 选择 image 文件名 ( example_data/images/cat.png )

    • 图像 → visOn

  2. 设置 ImageMorph 算子参数:

    • 类型 → ErodeOperator

    • 图像 → visOn

步骤3:连接算子

image-20240920102019547

步骤4:运行

点击 RVS 的运行按钮,触发 Trigger 算子。

运行结果

如下图所示,2D 视图中显示 Load 算子和 ImageMorph 算子的结果。

image-20240920102211806

DilateOperator

将 ImageMorph 算子的类型选择DilateOperator,用于扩展图像中的前景像素,从而填补小的黑色噪声孔洞,使得物体边界更加突出。该算子通过在图像上应用结构元素来扩展前景像素,从而达到增强和连接物体的效果。

算子参数

  • 结构核大小/kernel-size:指定结构元素的大小。结构核的大小通常用一个奇数来表示,例如 3、5、7 等。结构核越大,膨胀效果越明显。

  • 结构核形状/kernel-shape:指定结构元素的形状。常见的形状包括矩形、椭圆形和十字形。

    • MORPH_RECT:矩形。

    • MORPH_CROSS:十字形。

    • MORPH_ELLIPSE:椭圆形。

  • 迭代次数/iterations:指定膨胀操作的迭代次数。迭代次数越多,膨胀效果越强。

  • 图像/image:设置图像形态学变换后图像在 2D视图中的可视化属性。

    • visOn 打开图像可视化。

    • m_visOff 关闭图像可视化。

  • 图像列表/image_list:设置图像形态学变换后图像列表在 2D视图中的可视化属性。

    • visOn 打开图像列表可视化。

    • m_visOff 关闭图像列表可视化。

数据信号输入输出

输入:

  • 图像 :

    • 数据类型:Image

    • 输入内容:图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输入内容:图像列表

输出:

  • 图像 :

    • 数据类型:Image

    • 输出内容:膨胀后图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输出内容:膨胀后图像列表

功能演示

使用 DilateOperator 类型的 ImageMorph 算子对加载的图像进行膨胀操作。具体参数设置与 ErodeOperator 算子的标准用法一致,此处不再详细介绍。

结果如下图所示,在 2D 视图中显示了 Load 算子和 ImageMorph 算子的处理结果。

image-20240920102854798

OpeningOperator

将 ImageMorph 算子的类型选择OpeningOperator,用于先进行腐蚀操作再进行膨胀操作。它主要用于去除小的白色噪声,同时保持物体的整体形状。该算子通过先腐蚀后膨胀的过程来消除噪声和小物体。

算子参数

  • 结构核大小/kernel-size:指定结构元素的大小。结构核的大小通常用一个奇数来表示,例如 3、5、7 等。结构核越大,开操作的效果越明显。

  • 结构核形状/kernel-shape:指定结构元素的形状。常见的形状包括矩形、椭圆形和十字形。

    • MORPH_RECT:矩形。

    • MORPH_CROSS:十字形。

    • MORPH_ELLIPSE:椭圆形。

  • 迭代次数/iterations:指定开操作的迭代次数。迭代次数越多,开操作的效果越强。

  • 图像/image:设置图像形态学变换后图像在 2D视图中的可视化属性。

    • visOn 打开图像可视化。

    • m_visOff 关闭图像可视化。

  • 图像列表/image_list:设置图像形态学变换后图像列表在 2D视图中的可视化属性。

    • visOn 打开图像列表可视化。

    • m_visOff 关闭图像列表可视化。

数据信号输入输出

输入:

  • 图像 :

    • 数据类型:Image

    • 输入内容:图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输入内容:图像列表

输出:

  • 图像 :

    • 数据类型:Image

    • 输出内容:开操作后图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输出内容:开操作后图像列表

功能演示

使用 OpeningOperator 类型的 ImageMorph 算子对加载的图像进行膨胀操作。具体参数设置与 ErodeOperator 算子的标准用法一致,此处不再详细介绍。

结果如下图所示,在 2D 视图中显示了 Load 算子和 ImageMorph 算子的处理结果。

image-20240920103124360

ClosingOperator

将 ImageMorph 算子的类型选择ClosingOperator,用于先进行膨胀操作再进行腐蚀操作。它主要用于填补图像中的小黑色空洞,同时保持物体的整体形状。该算子通过先膨胀后腐蚀的过程来消除小孔洞和连接断开的部分。

算子参数

  • 结构核大小/kernel-size:指定结构元素的大小。结构核的大小通常用一个奇数来表示,例如 3、5、7 等。结构核越大,闭操作的效果越明显。

  • 结构核形状/kernel-shape:指定结构元素的形状。常见的形状包括矩形、椭圆形和十字形。

    • MORPH_RECT:矩形。

    • MORPH_CROSS:十字形。

    • MORPH_ELLIPSE:椭圆形。

  • 迭代次数/iterations:指定闭操作的迭代次数。迭代次数越多,闭操作的效果越强。

  • 图像/image:设置图像形态学变换后图像在 2D视图中的可视化属性。

    • visOn 打开图像可视化。

    • m_visOff 关闭图像可视化。

  • 图像列表/image_list:设置图像形态学变换后图像列表在 2D视图中的可视化属性。

    • visOn 打开图像列表可视化。

    • m_visOff 关闭图像列表可视化。

数据信号输入输出

输入:

  • 图像 :

    • 数据类型:Image

    • 输入内容:图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输入内容:图像列表

输出:

  • 图像 :

    • 数据类型:Image

    • 输出内容:开操作后图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输出内容:开操作后图像列表

功能演示

使用 OpeningOperator 类型的 ImageMorph 算子对加载的图像进行膨胀操作。具体参数设置与 ErodeOperator 算子的标准用法一致,此处不再详细介绍。

结果如下图所示,在 2D 视图中显示了 Load 算子和 ImageMorph 算子的处理结果。

image-20240920103124360

Skeleton

将 ImageMorph 算子的类型选择Skeleton,用于提取二值图像中的骨架。骨架化操作的目的是将图像中的物体细化到只有一个像素宽的骨架,同时保持物体的拓扑结构。骨架化常用于形状分析和模式识别。

算子参数

  • 图像/image:设置图像形态学变换后图像在 2D视图中的可视化属性。

    • visOn 打开图像可视化。

    • m_visOff 关闭图像可视化。

  • 图像列表/image_list:设置图像形态学变换后图像列表在 2D视图中的可视化属性。

    • visOn 打开图像列表可视化。

    • m_visOff 关闭图像列表可视化。

数据信号输入输出

输入:

  • 图像 :

    • 数据类型:Image

    • 输入内容:图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输入内容:图像列表

输出:

  • 图像 :

    • 数据类型:Image

    • 输出内容:提取骨架后图像

  • 图像列表 :

    • 数据类型:ImageList

    • 输出内容:提取骨架后图像列表

功能演示

使用 ImageMorph 算子的类型Skeleton,将加载图像进行提取骨架操作。

步骤1:算子准备

添加 Trigger、Load、ImageMorph 算子至算子图。

步骤2:设置算子参数

  1. 设置 Load 算子参数:

    • 类型 → 图像

    • 文件 → icon_more → 选择 image 文件名 ( example_data/images/Skeleton.png )

    • 图像 → visOn

  2. 设置 ImageMorph 算子参数:

    • 类型 → Skeleton

    • 图像 → visOn

步骤3:连接算子

image-20240920102019547

步骤4:运行

点击 RVS 的运行按钮,触发 Trigger 算子。

运行结果

如下图所示,2D 视图中显示 Load 算子和 ImageMorph 算子的结果。

image-20240920105314508