【机器视觉】 set_fuzzy_measure_norm_pair算子
00. 目錄
文章目錄
- 00. 目錄
- 01. 概述
- 02. 簽名
- 03. 描述
- 04. 注意
- 05. 參數
- 06. 結果
- 07. 附錄
01. 概述
set_fuzzy_measure_norm_pair - 為邊緣對指定一個歸一化的模糊函數。
02. 簽名
set_fuzzy_measure_norm_pair( : : MeasureHandle, PairSize, SetType, Function : )
03. 描述
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通過每個集合的權重的幾何平均值來產生整體模糊加權。
原文描述:
set_fuzzy_measure_norm_pair specifies a normalized fuzzy function passed in Function. The specified fuzzy functions enables fuzzy_measure_pos, fuzzy_measure_pairs and fuzzy_measure_pairing to evaluate and select the detected candidates of edges and edge pairs. For this purpose, weighting characteristics for different edge features can be defined by one function each. Such a specified feature is called fuzzy set. Specifying no function for a fuzzy set means not to use this feature for the final edge evaluation. Setting a second fuzzy function to a fuzzy set means to discard the first defined function and replace it by the second one. In difference to set_fuzzy_measure, the abscissa x of these functions must be defined relative to the desired size s of the edge pairs (passed in PairSize). This enables a generalized usage of the defined functions. A previously defined normalized fuzzy function can be discarded completely by reset_fuzzy_measure.
For an explanation of the concept of 1D measuring see the introduction of chapter 1D Measuring.
Functions for three different fuzzy set types selected by the SetType parameter can be defined, the sub types of a set being mutual exclusive:
‘size’ denotes a fuzzy set that valuates the normalized distance of two edges of a pair in pixels:
.
Specifying an upper bound x_max for the size by terminating the function with a corresponding fuzzy value of 0.0 will speed up fuzzy_measure_pairs / fuzzy_measure_pairing because not all possible pairs must be considered. Additionally, this fuzzy set can also be specified as a normalized size difference by ‘size_diff’
and a absolute normalized size difference by ‘size_abs_diff’
.
The fuzzy function of ‘position’ evaluates the signed distance p of each edge candidate to the reference point of the measure object, generated by gen_measure_arc or gen_measure_rectangle2:
.
The reference point is located at the beginning whereas ‘position_center’ or ‘position_end’ sets the reference point to the middle or the end of the one-dimensional gray value profile, instead. If the fuzzy position valuation depends on the position of the object along the profile ‘position_first_edge’ / ‘position_last_edge’ sets the referece point at the position of the first/last extracted edge. When extracting edge pairs, the position of a pair is referenced by the geometric average of the fuzzy position scores of both edges.
Similar to ‘position’, ‘position_pair’ evaluates the signed distance of each edge pair to the reference point of the measure object. The position of a pair is defined by the center point between both edges. The object’s reference can be set by ‘position_pair_center’, ‘position_pair_end’ and ‘position_first_pair’, ‘position_last_pair’, respectively. Contrary to ‘position’, this set is only used by fuzzy_measure_pairs/fuzzy_measure_pairing.
A normalized fuzzy function is defined as a piecewise linear function by at least two pairs of values, sorted in an ascending order by their x value. The y values of the fuzzy function represent the weight of the corresponding feature value and must satisfy the range of 0.0 <= y <= 1.0. Outside of the function’s interval, defined by the smallest and the greatest x value, the y values of the interval borders are continued constantly. Such Fuzzy functions can be generated by create_funct_1d_pairs.
If more than one set is defined, fuzzy_measure_pos / fuzzy_measure_pairs / fuzzy_measure_pairing yield the overall fuzzy weighting by the geometric mean of the weights of each set.
執行信息
● 多線程類型:可重入(與非獨占算子并行運行)。
● 多線程范圍:全局(可以從任何線程調用)。
● 不并行處理。
該算子修改以下輸入參數的狀態:
MeasureHandle
如果沒有全局同步,此參數的值可能不會在多個線程之間共享。
04. 注意
05. 參數
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)
模糊函數。
06. 結果
HDevelop例程
fuzzy_measure_pin.hdev 使用模糊測量來測量IC的引腳。
程序示例
* 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)07. 附錄
7.1 機器視覺博客匯總
網址:https://dengjin.blog.csdn.net/article/details/116837497
總結
以上是生活随笔為你收集整理的【机器视觉】 set_fuzzy_measure_norm_pair算子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器视觉】 set_fuzzy_mea
- 下一篇: 【机器视觉】 translate_mea