set_fuzzy_measure_norm_pair
— Spezifikation einer normierte Fuzzy-Funktion für Kantenpaare.
set_fuzzy_measure_norm_pair( : : MeasureHandle, PairSize, SetType, Function : )
set_fuzzy_measure_norm_pair
legt eine normierte Fuzzy-Funktion
fest, welche dem Parameter Function
übergeben wird und in den
Operatoren fuzzy_measure_pos
,fuzzy_measure_pairs
und
fuzzy_measure_pairing
die gefundenen Kantenpaare bewertet. Zu diesem Zweck können
Bewertungskriterien für verschiedene Merkmale von Kantenpaaren mit je
einer Funktion beschrieben werden. Ein auf diese Weise charakterisiertes
Merkmal wird Fuzzy-Set genannt. Wird keine Funktion für ein Fuzzy-Set
definiert, so wird dieses Merkmal nicht für die Bewertung der gefundenen
Kantenpaare herangezogen. Durch erneutes Setzen eines Fuzzy-Sets lässt
sich hingegen die zuvor definierte Fuzzy-Funktion überschrieben.
Gelöscht wird eine für ein Fuzzy-Set definierte Funktion mit Hilfe
des reset_fuzzy_measure
Operators. Im Unterschied zu
set_fuzzy_measure
, muss die Abszisse x der Funktion relativ
zur beabsichtigten Breite s (gegeben durch PairSize
) der
Kantenpaare festgelegt werden. Damit erreicht man eine allgemeine
Verwendung der definierten Funktionen.
Das Konzept der 1D-Vermessung ist bei der Einleitung zu Kapitel 1D-Vermessung beschrieben.
Es können Funktionen für drei unterschiedliche Typen von Fuzzy-Sets definiert werden, wobei die Unterarten eines Sets nur gegeneinander exclusiv gesetzt werden können:
'size' bezeichnet ein Fuzzy-Set, das den absoluten Abstand d zwischen den beiden Kanten eines Paares in Pixeln bewertet.
.
Die Verarbeitungsgeschwindigkeit von fuzzy_measure_pairs
/
fuzzy_measure_pairing
lässt sich erhöhen, indem eine obere
Grenze x_max für die Breite festgelegt und die korrespondierende
Ordinate auf den Wert 0.0 gesetzt wird. Dadurch wird erreicht, dass
nicht mehr alle möglichen Paare betrachtet werden müssen. Dieses
Fuzzy-Set kann aber auch als Differenz der Breiten ('size_diff' )
oder ihren Absolutbetrag ('size_abs_diff' )
.
definiert werden. Dieses Fuzzy-Set wird nur von den Operatoren
fuzzy_measure_pairs
und fuzzy_measure_pairing
verwendet.
Die Fuzzy-Funktion des Sets 'position' bewertet den
vorzeichenbehafteten Abstand p von jeder gefundenen Kante zum
Referenzpunkt des
Messobjekts, welches mit gen_measure_arc
oder
gen_measure_rectangle2
erzeugt wird:
.
Im Falle der Extraktion von Kantenpaaren mit fuzzy_measure_pairs
/
fuzzy_measure_pairing
setzt das Ergebnis der Bewertung aus
dem geometrischen Mittel der Bewertungen der zugehörigen beiden
Einzelkanten zusammen. 'position' legt den Referenzpunkt an
den Anfang, während 'position_center' b.z.w.
'position_end' den Referenzpunkt auf die Mitte b.z.w. das Ende
des eindimensionalen Grauwertprofils setzten. Wenn die Bewertung von der
Position des zu messeneden Objektes entlang des Grauwertprofils abhängt,
lässt sich der Referenzpunkt mit Hilfe von 'position_first_edge' /
'position_last_edge' auf die erste/letzte extrahierte Kante
setzten.
Ähnlich zu 'position' bewertet 'position_pair'
den vorzeichenbehafteten Abstand jeden Kantenpaares zu dem Referenzpunkt.
Die Position eines
Paares wird dabei durch die Mitte der beiden Einzelkanten definiert. Der
Bezugspunkt des Messobjekts kann dabei entsprechend mit
'position_pair_center' , 'position_pair_end' und
'position_first_pair' , 'position_last_pair' beeinflusst
werden. Im Gegensatz zu 'position' wird dieses Fuzzy-Set nur
von den Operatoren fuzzy_measure_pairs
/fuzzy_measure_pairing
verwendet.
Eine normalisierte Fuzzy-Funktion wird durch eine stückweise lineare
Funktion beschrieben, welche aus mindestens zwei Stützstellen besteht,
die in aufsteigender Reihenfolge ihres Abszissenwertes x sortiert sind.
Die Ordinate y beschreibt die Gewichtung zum korrespondierenden
Merkmalwert x und muss in dem Bereich von 0.0 <= y
<= 1.0 liegen. Außerhalb des Funktionsintervalls, welches
durch den größten und kleinsten Abszissenwert x festgelegt ist, wird
die Fuzzy-Funktion konstant mit den Ordinatenwerten der Intervallgrenzen
fortgeführt. Solche Fuzzy-Funktionen können mit Hilfe des
create_funct_1d_pairs
Operators erzeugt werden.
Wird mehr als ein Fuzzy-Set definiert setzt sich für
fuzzy_measure_pos
/ fuzzy_measure_pairs
/
fuzzy_measure_pairing
die resultierende Fuzzy-Bewertung aus
dem geometrischen Mittel der Bewertungen aus den einzelnen Sets zusammen.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
MeasureHandle
(input_control, Zustand wird modifiziert) measure →
(handle)
Handle des Messobjekts.
PairSize
(input_control) number →
(real / integer)
Gesuchte Breite der Kantenpaare.
Defaultwert: 10.0
Wertevorschläge: 4.0, 6.0, 8.0, 10.0, 15.0, 20.0, 30.0
Typischer Wertebereich: 0.0
≤
PairSize
Minimale Schrittweite: 0.1
Empfohlene Schrittweite: 1.0
SetType
(input_control) string →
(string)
Auswahl des Fuzzy-Sets.
Defaultwert: 'size_abs_diff'
Werteliste: '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)
Fuzzy-Funktion.
* 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)
gen_measure_arc
,
gen_measure_rectangle2
,
create_funct_1d_pairs
fuzzy_measure_pairs
,
fuzzy_measure_pairing
transform_funct_1d
,
set_fuzzy_measure
1D Metrology