halcon算子翻譯——set_fuzzy_measure_norm_pair


名稱

set_fuzzy_measure_norm_pair - 為邊緣對指定一個歸一化的模糊函數。

用法

set_fuzzy_measure_norm_pair( : : MeasureHandle, PairSize, SetType, Function : )

描述

  set_fuzzy_measure_norm_pair指定在Function中傳遞歸一化模糊函數。 指定的模糊函數使得fuzzy_measure_pos,fuzzy_measure_pairs和fuzzy_measure_pairing能夠評估和選擇檢測到的邊緣和邊緣對的候選。 為此,不同邊緣特征的加權特征可以由一個函數來定義。 這種特定的特征被稱為模糊集合。 指定模糊集沒有功能意味着不使用此特征進行最終邊緣評估。 將第二個模糊函數設置為模糊集意味着丟棄第一個定義的函數並將其替換為第二個函數。 與set_fuzzy_measure不同,這些函數的橫坐標x必須相對於邊緣對的期望尺寸s(在PairSize中傳遞)來定義。 這使得所定義的功能得到廣泛使用。 先前定義的歸一化模糊函數可以通過reset_fuzzy_measure完全丟棄。

  可以定義由SetType參數選擇的三種不同模糊集合類型的函數,一個集合的子類型是互斥的:

  'size'表示一個模糊集合,以像素為單位評估一對的兩個邊緣的歸一化距離:

 

通過以模糊值0.0終止函數來指定尺寸的上限x_max將加快fuzzy_measure_pairs / fuzzy_measure_pairing,因為不必考慮所有可能的配對。 此外,這個模糊集也可以通過'size_diff'指定為歸一化的大小差異
 

和“size_abs_diff”的絕對歸一化大小差異

  'position'的模糊函數評估由gen_measure_arc或gen_measure_rectangle2生成的每個候選邊緣到measure對象的參考點的有符號距離p:

參考點位於開始處,而'position_center'或'position_end'將參考點設置為一維灰度值輪廓的中間或末端。 如果模糊位置評估取決於沿着輪廓'position_first_edge'的對象的位置,則'position_last_edge'在第一個/最后提取的邊緣的位置處設置參考點。 當提取邊緣對時,邊緣對的位置被兩邊的模糊位置分數的幾何平均值所引用。

  與‘postition'相似,'position_pair'計算每個邊緣對與測量對象參考點的有符號距離。 邊緣對的位置由兩個邊緣之間的中心點定義。 對象的引用可以分別由'position_pair_center','position_pair_end'和'position_first_pair','position_last_pair'來設置。 與'position'相反,該模糊集僅由fuzzy_measure_pairs / fuzzy_measure_pairing使用。

  歸一化的模糊函數被定義為至少兩對值的分段線性函數,按x值升序排序。 模糊函數的y值表示相應特征值的權重,並且必須滿足0.0 <= y <= 1.0的范圍。 在由最小和最大x值定義的函數間隔之外,間隔邊界的y值不斷連續。 這樣的模糊函數可以由create_funct_1d_pairs生成。

  如果定義了多個集合,則fuzzy_measure_pos / fuzzy_measure_pairs / fuzzy_measure_pairing通過每個集合的權重的幾何平均值來產生整體模糊加權。

並行

●  多線程類型:可重入(與非獨占算子並行運行)。

●  多線程范圍:全局(可以從任何線程調用)。

●  不並行處理。

該算子修改以下輸入參數的狀態:

  MeasureHandle

如果沒有全局同步,此參數的值可能不會在多個線程之間共享。

參數

MeasureHandle (input_control, state is modified)   measure_id → (integer)
  Measure對象句柄。


PairSize (input_control)    number → (real / integer)
  邊緣對的預期寬度。
  Default value: 10.0
  List of values: 4.0, 6.0, 8.0, 10.0, 15.0, 20.0, 30.0
  Typical range of values: 0.0 ≤ PairSize
  Minimum increment: 0.1
  Recommended increment: 1.0


SetType (input_control)    string → (string)
  模糊集合的選擇。
  Default value: 'size_abs_diff'
  List of values: 'position', 'position_center', 'position_end', 'position_first_edge', 'position_first_pair', 'position_last_edge', 'position_last_pair', 'position_pair_center', 'position_pair_end', 'size', 'size_abs_diff', 'size_diff'


Function (input_control) function_1d → (real / integer)
模糊函數。

示例(HDevelop)

* how to use a fuzzy function
* ...
gen_measure_rectangle2 (50, 100, 0, 200, 100, 512, 512, 'nearest_neighbor', \
                        MeasureHandle)
* create a generalized fuzzy function to evaluate edge pairs
* * (30% uncertainty).
create_funct_1d_pairs ([0.7,1.0,1.3], [0.0,1.0,0.0], SizeFunction)
* and set it for an expected pair size of 13.45 pixels
set_fuzzy_measure_norm_pair (MeasureHandle, 13.45, 'size', SizeFunction)

fuzzy_measure_pairs (Image, MeasureHandle, 1, 30, 0.5, 'all', RowEdgeFirst, \
                     ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, \
                     ColumnEdgeSecond, AmplitudeSecond, RowEdgeCenter, \
                     ColumnEdgeCenter, FuzzyScore, IntraDistance, \
                     InterDistance)

 

Possible Predecessors

gen_measure_arc, gen_measure_rectangle2, create_funct_1d_pairs

Possible Successors

fuzzy_measure_pairs, fuzzy_measure_pairing

Alternatives

transform_funct_1d, set_fuzzy_measure

See also

reset_fuzzy_measure

模塊

1D Metrology

HDevelop例程

fuzzy_measure_pin.hdev   使用模糊測量來測量IC的引腳。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM