Halcon算子_set_fuzzy_measure



set_fuzzy_measure( : :MeasureHandle,SetType,Function : )

1、算子指定了進行模糊測量時使用的模糊元函數。即指定了算子fuzzy_measure_pos和fuzzy_measure_pairs / fuzzy_measure_pairing所用的模糊元函數,這些算子都能夠評估並選擇檢測到的所有邊緣。

2、可以分別通過一個元函數來定義不同邊緣特徵的加權指數。

3、這樣一個特定的邊緣特徵稱爲模糊集。也就是說不同的模糊集可以通過不同的元函數來指定集合裏元素對應得加權指數。

4、 不指定模糊集的元函數意味着不要將此邊緣特徵用於邊緣評估。

5、爲一個模糊集設定第二個模糊元函數,意味着丟棄第一個定義的元函數並將其替換爲第二個。先前定義的模糊元函數可以通過reset_fuzzy_measure完全丟棄。

6、可以設置SetType參數來選擇五種不同模糊集對應的元函數。每一種類型之間是互斥的。

7、“contrast”模糊集對應的元函數計算檢測到的邊緣的振幅。當提取到邊緣對時,通過計算兩條邊緣的模糊對比度的幾何平均值來獲得模糊評估值。

8、“position”模糊集對應得元函數計算每個邊緣到測量對象的參考點的距離。其中測量對象由gen_measure_arc或gen_measure_rectangle2生成。測量對象的參考點位於開始位置。'position_center'或'position_end'模糊集對應得元函數將參考點設置爲一維灰度值輪廓的中間或末尾。如果position的評估值取決於對象沿着輪廓的位置,則'position_first_edge'/'position_last_edge'將參考點設置在第一/最後提取邊緣的位置。當提取邊緣對時,邊緣對的位置可以參考兩個邊緣的模糊位置得分的幾何平均值。

9、類似於'position','position_pair'評估每個邊緣對與測量對象的參考點的距離。計算距離時邊緣對的值由兩個邊緣之間的中心點定義。

10、測量對象的參考點的位置可以分別由'position_pair_center','position_pair_end'和'position_first_pair','position_last_pair'設置。與“position”相反,該模糊集僅由fuzzy_measure_pairs / fuzzy_measure_pairing使用。

11、'size'模糊集對應得元函數以像素爲單位來計算一對邊緣的兩條邊之間的距離。這個模糊集只用於fuzzy_measure_pairs / fuzzy_measure_pairing。通過設置模糊值爲0.0,就可以不使用對應的成員函數。通過這種辦法,可以設定尺寸的上限。這樣將加快fuzzy_measure_pairs / fuzzy_measure_pairing的速度,因爲不需要考慮所有可能的邊緣對。

12、''gray' 模糊集對應得元函數,將一對邊緣邊的兩條邊之間的平均投影灰度值進行加權運算。這個模糊集只用於fuzzy_measure_pairs / fuzzy_measure_pairing。

13、模糊成員函數爲分段線性函數,通過至少兩對值進行定義,這幾對值通過他們的x值進行升序排序。x值表示邊緣特徵,必須位於所設置的模糊集類型的參數定義範圍內,即在“contrast”和“gray”特徵的情況下,如果是字節圖像,則X的定義範圍爲0.0 <= x <= 255.0。在“SIZE”的情況下,x必須滿足0.0 <= x,而在“position”的情況下x可以是任何實數。

1·4、模糊函數的y值表示相應特徵值的權重,必須滿足0.0 <= y <= 1.0。

15、在由最小和最大x值定義的函數範圍之外,間隔邊界的y值不斷地繼續。這樣的模糊成員函數可以由create_funct_1d_pairs生成。

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


例子:

create_funct_1d_pairs ([7,9,11], [0.0,1.0,0.0], SizeFunction)
SetType := 'size'
set_fuzzy_measure (MeasureHandle, SetType, SizeFunction)

模糊集設爲SIZE,對應得元函數如上圖所示。9的權重爲1,8的權重爲0.5等等。




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