跳到主要内容
版本:Next

轮廓滤波

功能介绍

模块位置:图像处理-轮廓滤波

对轮廓进行滤波,包括以下几种方法:

  • 线性插值:当相邻两点距离大于 插值间隔 并且不超过 最大允许插值间隔 时,按线性比例在两点之间插入若干新点,最多 每段最大插入点数 个,用于修补小缺口或加密曲线。
  • 中值滤波:用滑动窗口中的中位数替换当前点,可有效去除尖峰噪声而基本保持边缘形状,窗口宽度由 内核大小(中值滤波) 指定。
  • 平均:滑动窗口做简单平均(均值),平滑随机噪声并弱化高频抖动,窗口宽度由 内核大小(平均) 指定。
  • 抽取:沿曲线累计距离达到 抽取间隔距离 时保留一个点,其余跳过,以降低点数、简化轮廓。
  • 高斯滤波:对 x、y 序列卷积离散高斯核,核宽度由 内核大小(高斯滤波)标准差 共同决定,兼顾平滑与细节保留。
  • 百分比滤除:统计全局 x 或 y 分位区间,仅保留位于 百分比下限/上限 范围内的点(方向由 滤除方向 指定),剔除整体离群值。
  • 离群点滤波:包含半径滤波和统计滤波两种方式:
    • 判断每个点指定半径内点数量是否满足阈值,来剔除离群点;
    • 对每个点的k邻域点的平均距离进行统计,剔除距离满足一定条件的点;

输入

输入类型说明
轮廓源轮廓输入轮廓像
区域2D/可仅对感兴趣区域进行处理,通过绘制或继承得到一个输入区域:区域类型、区域列表、启用坐标系、坐标系。

使用场景

参数说明

闭合

启用后将曲线首尾视为相邻,滤波时按循环序列处理(适用于闭合轮廓)

方法 - 线性插值

插值间隔

对轮廓相邻点距离大于此值的位置进行插值,插值点间距离为插值间隔;单位与轮廓单位一致;

最大允许插值间隔

当轮廓相邻点距离大于此值时,认为非缺口不进行插值;

每段最大插入点数

限制两个相邻点之间插值数量;

线性插值前线性插值后)
线性插值前线性插值后(插值间隔 = 0.001,最大允许插值间隔 = 3, 每段最大插入点数 = 2)

方法 - 抽取

抽取间隔距离

累计轮廓长度达到该值时保留一个点;

抽取前抽取后
抽取前抽取后(抽取间隔距离 = 0.1)

方法 - 中值滤波

内核大小

计算中值时滑动窗口长度,奇数效果最佳;

滤波前滤波后
滤波前滤波后(内核大小 = 11)

方法 - 平均

内核大小

计算平均值时滑动窗口长度;

滤波前滤波后
滤波前滤波后(内核大小 = 11)

方法 - 高斯滤波

内核大小

执行滤波时高斯核长度;

标准差

高斯核标准差 σ,决定平滑强度;

滤波前滤波后
滤波前滤波后(内核大小 = 11, 标准差 = 1)

方法 - 百分比滤除

滤除方向

按 X 或 Y 方向进行滤除;

百分比下限

低于下限的部分被滤除;

百分比上限

高于上限的部分被滤除;

滤除前滤除后
滤除前滤除后(半径 = 0.2, 最小临近点数量 = 15)

方法 - 离群点滤波

离群点滤波方法

支持半径滤波和统计滤波两种;

有序搜索

启用时,数据被当成有序数组处理;否则当成无序2d点组成的轮廓;

半径

到当前点距离小于次半径的认为是临近点(半径滤波参数);

最小临近点数量

当前点临近点数量低于最小临近点数量时被认为是离群点(半径滤波参数);

滤波前滤波后
滤波前滤波后(半径 = 0.2, 最小临近点数量 = 15)

K均值

用于统计分析的邻近点数量(统计滤波参数);

标准差乘数

某点的邻域点的平均距离 > 全局平均距离 + 标准差乘数 * σ,则判定为离群点(统计滤波参数);

输出

输出类型默认启用额外启用条件说明
区域列表区域集/传递给下游模块的输入区域集合,保留用户在界面上框选的所有区域
区域中心列表2D点集/每个输入区域计算所得二维几何中心
输出轮廓轮廓/输出处理后的轮廓
输出点集2D点集/处理后的轮廓对应的2D点集