跳到主要内容

单点峰值检测

组件原理

首先,在输入的图像上沿着给定的直线采样图像灰度值,然后计算直线像素间的梯度值,最后检测有无梯度值超过预设阈值。
该方法可用于检测零件光滑平面上的不平滑部分,如下左图所示,沿着红线的像素灰度值如下右图所示。企业微信截图_16068818672795.png企业微信截图_16068818766891.png

输入

  • 图像
    • 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
        • 沿着直线的采样的灰度值

参数配置

企业微信截图_1606878311936.png

  • 线段坐标
    • Type: Array
    • 依次是采样线段的初始坐标x, y和终止坐标x, y
  • 检测阈值
    • Type: Int
    • 波峰检测阈值
  • 峰值极性
    • Type: String
    • 检测峰值极性
    • 选项:上升沿("raising"),下降沿("falling"),全部("both")