缺陷检测
边缘位置趋势
逐列取最上方一条暗边缘的行坐标形成边缘位置序列,以滑动窗口均值构造趋势线,把偏离趋势超阈值的列标为缺陷并叠加红圈,输出边缘位置、趋势线、偏差与最大偏差EdgeTrendAnalysis · v1.0 · by system
输入参数 4
| 名称 | keyId | 类型 | 默认值 | 可连接 | 说明 |
|---|---|---|---|---|---|
| 图像 | images | vec_img | [] | 是 | 逐帧参与量测的灰度图像序列,每帧先转成 8 位灰度;空帧或无法转灰度的帧原样透传且不参与采样,整个图像容器缺失时返回 -1 并在运行信息提示输入图像为空 |
| 扫描线数 | scanCount | int | 20 | 否 | 每帧参与采样的列数上限,默认 20;程序以图像宽度除以该值得到列步进,从左到右取到该列数为止,取 0 或负数会返回 -1 并在运行信息提示扫描线数必须大于0,过大取值内部限制到 100000 |
| 平滑窗口 | trendWindow | int | 5 | 否 | 构造趋势线时各采样点取邻域做平均的窗口宽度,默认 5;以该值的一半向左右各取若干采样点求算术平均,取值小于 1 时按 1 处理,窗口越宽趋势线越平滑 |
| 偏差阈值 | deviationThreshold | double | 3 | 否 | 判定采样列是否为缺陷的偏差门限,默认 3 个像素;某列量测值与趋势线之差的绝对值严格大于该值时,在输出图像上叠加红色圆圈,只影响标记显示而不改变返回码 |
输出参数 9
| 名称 | keyId | 类型 | 默认值 | 可连接 | 说明 |
|---|---|---|---|---|---|
| 运行结果 | resultCode | int | — | 否 | 0=成功完成边缘序列量测与趋势分析并输出各统计序列;-1=输入图像容器缺失、扫描线数非正或处理过程中发生异常,此时运行信息写明具体原因 |
| 运行信息 | resultInfo | string | — | 否 | 成功时固定为 Success;失败时给出具体原因,如输入图像为空、扫描线数必须大于0、OpenCV 处理异常或内存不足;边缘序列为空或偏短不属于失败,仍返回成功 |
| 图像 | images | vec_img | — | 否 | 逐帧输出的 BGR 彩色图像,帧数与输入一致;每个有效采样列在检出的暗边缘行坐标处画绿色实心圆点,偏差超阈值的列再叠加红色圆圈,空帧或转灰度失败的帧原样透传 |
| 缺陷数 | defectCount | int | — | 否 | 被判为缺陷的采样列个数,判定依据是某列量测值与滑动窗口趋势线之差的绝对值严格大于偏差阈值;输出图像上对应位置叠加红圈,供下游按数量做统计 |
| 缺陷列表 | defectList | vec_double | — | 否 | 以数值序列形式给出的缺陷明细,与缺陷数配套,逐条对应偏差超过阈值的采样列;元素顺序与从左到右的采样顺序一致,便于把缺陷回连到具体扫描列 |
| 边缘位置 | edgePositions | vec_double | — | 否 | 按列从左到右、多帧依次拼接的边缘位置序列,元素为每列自顶向下最先出现的暗像素行坐标,量纲为像素;整列无暗像素时该列被跳过,序列可能为空 |
| 趋势线 | trendLine | vec_double | — | 否 | 与各量测序列等长的趋势线,由每个采样点邻域内量测值的算术平均得到,量纲为像素;它是局部滑动均值而非带斜率的直线拟合,不含直线斜率项 |
| 偏差 | deviation | vec_double | — | 否 | 各采样点量测值与同位置趋势线之差的绝对值序列,量纲为像素;它反映单点相对局部均值的波动,不是对直线做拟合得到的残差,可用于与偏差阈值比较 |
| 最大偏差 | maxDeviation | double | — | 否 | 所有帧全部采样点偏差中的最大值,量纲为像素;在逐点计算各列偏差时同步取最大,没有任何有效采样点时保持初始值 0,用于衡量边缘位置相对趋势线的最大波动 |
接入方式
联系与反馈
获取安装包与技术反馈
安装包通过微信二维码获取。安装部署、界面组态与工具配置过程中的问题,可通过同一渠道反馈,无需注册或填写表单。
- 安装包获取与部署说明
- 界面组态与工具配置
- 功能建议与问题反馈

微信扫码 · 安装包与问题反馈