算子 ERODE

Operator Library: Filter

ERODE 算子对图像执行二值腐蚀操作,可用于分离相互接触的物体。 该算子的输入是一个 kernel 图像数据流。 在输出端提供中心像素的腐蚀结果。 用于腐蚀操作的结构元素由可参数化的二值矩阵 StructElement 指定。 该矩阵的大小与输入 kernel 相同。 腐蚀是形态学图像处理中的一项基本操作。 在腐蚀操作中,如果值为 '1' 的所有矩阵元素与其在 kernel 中的对应元素相匹配,则输出设置为 '1'。值为 '0' 的矩阵元素被视为 “don't care” 并将被忽略。 换句话说,kernel 矩阵必须完全契合到图像中。 如果 所有矩阵元素的值均为 '0',其行为将取决于 StructElement 参数的设置:

  • Static:结果始终为 '0'。

  • Dynamic:结果始终为 '1'。

I/O Property

Property 值
Operator Type O
Input Link I,kernel 输入
Output Link O,结果输出

Supported Link Format

Link Parameter Input Link I Output Link O
Bit Width 1 as I
Arithmetic unsigned as I
Parallelism any as I
Kernel Columns any as I
Kernel Rows any as I
Img Protocol {VALT_IMAGE2D, VALT_LINE1D, VALT_PIXEL0D} as I
Color Format VAF_GRAY as I
Color Flavor FL_NONE as I
Max. Img Width any as I
Max. Img Height any as I

参数

StructElement
键入 静态/动态读写参数
默认 1
范围 {0, 1}

结构元素是一种预定义的形状,用于探测或交互图像, 以确定该形状与图像中存在的形状有多大程度的匹配或差异。

  • StructElement 参数中的值 '0' 意味着该位置被视为 “don't care” 并被忽略。

  • StructElement 参数中的值 '1' 必须与 kernel 输入中同一位置的 '1' 相对应。

如果更改了算子的输入 kernel 大小,系数也会随之改变。 因此,请在更改输入 kernel 大小后检查系数。

如果该参数设置为 Static,则在设计时选择这些值。 如果该参数设置为 Dynamic,则可以在运行时更改这些值。 在运行时所做的更改将立即生效;它们不会在帧结束或行结束时进行同步。

使用示例

以下示例展示了 ERODE 算子的使用:

  • 'Morphological Edge'

    示例 - 将二值腐蚀图像与原图进行比较。 如果两者不同,则检测到边缘。

  • 'Close'

    示例 - 展示了对二值图像应用形态学闭运算的实现方式。

  • 'Open'

    示例 - 展示了对二值图像应用形态学开运算的实现方式。