Halcon算子_fuzzy_measure_pairs



fuzzy_measure_pairs(Image : : MeasureHandle, Sigma, AmpThresh, FuzzyThresh, Transition : RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, RowEdgeCenter, ColumnEdgeCenter, FuzzyScore, IntraDistance, InterDistance)

1、fuzzy_measure_pairs用於提取垂直於矩形或環形弧的長軸的直邊對。除了measure_pairs的功能,它還使用模糊成員函數來評估和選擇邊緣對。提取算法與fuzzy_measure_pos相同。不同之處在於此算子還把邊緣分成相應的對。

2、邊緣分組成對:如果Transition =“positive”,則返回的點(RowEdgeFirst,ColumnEdgeFirst)爲矩形長軸方向上由黑到亮的邊緣點,點(RowEdgeSecond,ColumnEdgeSecond)爲由亮至暗的邊緣點。如果Transition =“negative”,則相反。

3、如果Transition ='all',則第一個檢測到的邊緣定義RowEdgeFirst和ColumnEdgeFirst的轉換。這適合於測量具有相對於背景的不同亮度的物體。

4、邊緣對的特徵通過模糊函數進行評估,該模糊函數可以由set_fuzzy_measure或set_fuzzy_measure_norm_pair設置。

5、哪對邊緣對可以被選中通過設置參數FuzzyThresh來確定,該參數構成了所有模糊集合上權重的閾值,即所定義的模糊成員函數的權重的幾何平均值。
所選擇的邊緣作爲單個點返回,該點位於矩形或環形弧的長軸上。相應的邊沿幅度在AmplitudeFirst和AmplitudeSecond中返回,FuzzyScore返回模糊分數。

6、提取的邊緣作爲位於矩形長軸上的單個點返回。相應的邊沿幅度的值爲AmplitudeFirst和AmplitudeSecond。此外,每個邊對之間的距離以IntraDanceance返回,並且InterDistance之間返回連續邊源對之間的距離。這裏,IntraDistance [i]對應於EdgeFirst [i]和EdgeSecond [i]之間的距離,而InterDistance [i]對應於EdgeSecond [i]和EdgeFirst [i + 1]之間的距離。


參數

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、AmpThresh (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≤AmpThresh≤255(lin)
    最小增量:0.5
    推薦增量:2

5、FuzzyThresh (input_control)  number → (real)

    最小模糊值。
    默認值:0.5
    建議值:0.1,0.3,0.5,0.7,0.9
    典型值範圍:0.0≤FuzzyThresh≤1.0(lin)
    推薦增量:0.1

6、Transition (input_control)  string → (string)

      確定邊緣如何分組到邊緣對的灰度值轉換類型。
      默認值:'all'
      值列表:'all','positive','negative’
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、RowEdgeCenter (output_control)  point.y-array → (real)
               邊對中心的行座標。
14、ColumnEdgeCenter (output_control)  point.x-array → (real)
                邊對中心的縱座標。
15、FuzzyScore (output_control)  real-array → (real)
        模糊評估分數
16、IntraDistance (output_control)  real-array → (real)
         邊緣對內邊緣之間的距離。
17、InterDistance (output_control)  real-array → (real)
       連續邊緣對之間的距離。


例子(HDevelop)

Sigma := 0.9
AmpThresh := 12
FuzzyThresh := 0.5
Transition := 'negative'
*fuzzy_measure_pairs用於提取垂直於矩形或環形弧的長軸的直邊對。除了measure_pairs的功能外,它還使用模糊成員函數來評估和選擇邊緣對。
fuzzy_measure_pairs (Image, MeasureHandle, Sigma, AmpThresh, FuzzyThresh, Transition, RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, RowEdgeCenter, ColumnEdgeCenter, FuzzyScore, IntraDistance, InterDistance)


1、高斯平滑Sigma:0.9

2、最小邊緣幅度12

3、最小模糊值爲0.5

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














發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章