单点峰值检测
组件原理
首先,在输入的图像上沿着给定的直线采样图像灰度值,然后计算直线像素间的梯度值,最后检测有无梯度值超过预设阈值。
该方法可用于检测零件光滑平面上的不平滑部分,如下左图所示,沿着红线的像素灰度值如下右图所示。
输入
- 图像
- Type: Npy
- 注意:如果是彩色图像,组件会转换成灰度图,使用GBR->Gray转换算法。
- 参数
- Type: Json
- 示例:{"line": [111, 222, 888, 999], "threshold": 110, "edge_polarity": "both"}
- line
- Type: Array
- 依次是采样线段的初始坐标x, y和终止坐标x, y
- threshold
- Type: Int
- 波峰检测阈值
- edge_polarity
- Type: String
- 检测峰值极性
- 选项:上升沿("raising"),下降沿("falling"),全部("both")
注意:参数为可选输入,如果参数为空,组件需要设置为异步接收,反之同步接收。如果参数为空,将会使用右面版配置的参数。
输出
- 判定结果
- Type: Json
- 发生错误情况下:{}
- 正常输出示例:{"sharpEdgeFound": True, "grayscale": [12, 13, 255, 222]}
- sharpEdgeFound:
- 布尔值
- True: 有高于阈值的峰值
- False: 无高于阈值的峰值
- grayscale:
- Array
- 沿着直线的采样的灰度值
- sharpEdgeFound:
参数配置
- 线段坐标
- Type: Array
- 依次是采样线段的初始坐标x, y和终止坐标x, y
- 检测阈值
- Type: Int
- 波峰检测阈值
- 峰值极性
- Type: String
- 检测峰值极性
- 选项:上升沿("raising"),下降沿("falling"),全部("both")