Halcon算子_measure_pairs

Halcon的measure_pairs算子用于提取图像中垂直于测量矩形或环形弧长轴的直边对。根据Transition参数,可以获取不同方向的边缘点。该算子适用于边缘检测和测量,返回包括边缘点坐标、幅度和边对距离等信息。注意,结果的准确性依赖于边缘是否为直线且垂直于长轴,且Sigma值需适当选择。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印



measure_pairs(Image : : MeasureHandle,Sigma,Threshold,Transition,Select :RowEdgeFirst,ColumnEdgeFirst,AmplitudeFirst,RowEdgeSecond,ColumnEdgeSecond,AmplitudeSecond,IntraDistance,InterDistance)

1、measure_pairs用于提取垂直于测量矩形或环形弧的长轴的直边对。
2、边缘分组成对:如果Transition =“positive”,则返回的点(RowEdgeFirst,ColumnEdgeFirst)为矩形长轴方向上由黑到亮的边缘点,点(RowEdgeSecond,ColumnEdgeSecond)为由亮至暗的边缘点。如果Transition =“negative”,则相反。

3、如果Transition ='all',则第一个检测到的边缘定义RowEdgeFirst和ColumnEdgeFirst的转换。这适合于测量具有相对于背景的不同亮度的物体。

4、如果找到具有相同转换的多于一个的连续边缘,则将第一个边缘用作对元素。这种行为可能会导致在阈值不能被选择得足够高以抑制相同转换的连续边缘的应用中出现问题。对于这些应用,存在第二种配对模式,即仅选择一个具有连续上升沿和下降沿的序列上的相应最强边缘。通过将“_strongest”附加到任何以上转换模式,例如“negative_strongest”可以选择此模式。

5、可以选择哪些边对被返回。如果选择设置为“All”,则返回所有边对。如果设置为“first”,则只有第一个提取的边对被返回,如果设置为“last”,只返回最后一个。

6、提取的边缘作为位于矩形长轴上的单个点返回。相应的边沿幅度的值为AmplitudeFirst和AmplitudeSecond。此外,每个边对之间的距离以IntraDanceance返回,并且InterDistance之间返回连续边源对之间的距离。这里,IntraDistance [i]对应于EdgeFirst [i]和EdgeSecond [i]之间的距离,而InterDistance [i]对应于EdgeSecond [i]和EdgeFirst [i + 1]之间的距离。

7、只有边缘是直线并且边缘垂直于长轴的假设被满足了,measure_pairs返回的结果才有意义。此外,Sigma不能大于约 0.5*Length1。




参数:

1、Image (input_object)  singlechannelimage object (byte / uint2 / real)

     输入图像

2、MeasureHandle (input_control)  measure_id (integer)

     测量对象句柄

3、Sigma (input_control)  number (real)

    高斯平滑的Sigma。
    默认值:1.0
    建议值:0.4,0.6,0.8,1.0,1.5,2.0,3.0,4.0,5.0,7.0,10.0
    典型值范围:0.4≤Sigma≤100(lin)
    最小增量:0.01
    推荐增量:0.1
    限制:Sigma> = 0.4

4、Threshold (input_control)  number (real)

翻译      最小边缘幅度。
      默认值:30.0
      建议值:5.0,10.0,20.0,30.0,40.0,50.0,60.0,70.0,90.0,110.0
      典型值范围:1≤阈值≤255(lin)
      最小增量:0.5
      推荐增量:2
5、Transition (input_control)  string (string)
      确定边缘如何分组到边缘对的灰度值转换类型。
       默认值:'all'
       值列表:'all','positive','negative','all_strongest','positive_strongest','negative_strongest'
6、Select (input_control)  string (string)
      选择边缘对。
       默认值:'all'
        值列表:'all','first','last'
7、RowEdgeFirst (output_control)  point.y-array (real)
        第一个边缘中心的行坐标。
8、ColumnEdgeFirst (output_control)  point.x-array (real)

        第一个边缘中心的列坐标。
9、AmplitudeFirst (output_control)  real-array (real)
        第一边缘的边缘幅度(带符号)。
10、RowEdgeSecond (output_control)  point.y-array (real)
         第二边缘中心的行坐标。
11、ColumnEdgeSecond (output_control)  point.x-array (real)
         第二边缘中心的列坐标。
12、AmplitudeSecond (output_control)  real-array (real)
          第二边缘的边缘幅度(带符号)。
13、IntraDistance (output_control)  real-array (real)
         边缘对内边缘之间的距离。
14、InterDistance (output_control)  real-array (real)
       连续边缘对之间的距离。


例子(HDevelop):

 measure_pairs (SearchImage, MeasureHandle1, 2, 25, 'negative', 'all', RowEdge11, ColEdge11, Amp11, RowEdge21, ColEdge21, Amp21, Width1, Distance1)

1、输入图像:SearchImage

2、测量对象句柄MeasureHandel。

3、高斯平滑Sigma:2

4、最小边缘幅度为25

5、先返回由亮到黑,再返回由黑到亮

6、返回所有的边缘对






































开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值