set_fuzzy_measureT_set_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasure (Operator)

Name

set_fuzzy_measureT_set_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasure — Spezifikation einer Fuzzy-Funktion.

Signatur

set_fuzzy_measure( : : MeasureHandle, SetType, Function : )

Herror T_set_fuzzy_measure(const Htuple MeasureHandle, const Htuple SetType, const Htuple Function)

void SetFuzzyMeasure(const HTuple& MeasureHandle, const HTuple& SetType, const HTuple& Function)

void HMeasure::SetFuzzyMeasure(const HString& SetType, const HFunction1D& Function) const

void HMeasure::SetFuzzyMeasure(const char* SetType, const HFunction1D& Function) const

void HMeasure::SetFuzzyMeasure(const wchar_t* SetType, const HFunction1D& Function) const   (Nur Windows)

static void HOperatorSet.SetFuzzyMeasure(HTuple measureHandle, HTuple setType, HTuple function)

void HMeasure.SetFuzzyMeasure(string setType, HFunction1D function)

Beschreibung

set_fuzzy_measureset_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasureSetFuzzyMeasure legt eine Fuzzy-Funktion fest, welche dem Parameter FunctionFunctionFunctionFunctionfunction übergeben wird und in den Operatoren fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePosFuzzyMeasurePos, fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairsFuzzyMeasurePairs und fuzzy_measure_pairingfuzzy_measure_pairingFuzzyMeasurePairingFuzzyMeasurePairingFuzzyMeasurePairing die gefundenen Kanten bewertet. Zu diesem Zweck können Bewertungskriterien für verschiedene Merkmale von Kanten und 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_measurereset_fuzzy_measureResetFuzzyMeasureResetFuzzyMeasureResetFuzzyMeasure Operators.

Das Konzept der 1D-Vermessung ist bei der Einleitung zu Kapitel 1D-Vermessung beschrieben.

Es können Funktionen für fünf unterschiedliche Typen von Fuzzy-Sets definiert werden, wobei die Unterarten eines Sets nur gegeneinander exclusiv gesetzt werden können:

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. Zwischen den Stützstellen wird der Funktionswert linear interpoliert. Solche Fuzzy-Funktionen können mit Hilfe des create_funct_1d_pairscreate_funct_1d_pairsCreateFunct1dPairsCreateFunct1dPairsCreateFunct1dPairs Operators erzeugt werden.

Wird mehr als ein Fuzzy-Set definiert setzt sich für fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePosFuzzyMeasurePos / fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairsFuzzyMeasurePairs / fuzzy_measure_pairingfuzzy_measure_pairingFuzzyMeasurePairingFuzzyMeasurePairingFuzzyMeasurePairing die resultierende Fuzzy-Bewertung aus dem geometrischen Mittel der Bewertungen aus den einzelnen Sets zusammen.

Ausführungsinformationen

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.

Parameter

MeasureHandleMeasureHandleMeasureHandleMeasureHandlemeasureHandle (input_control, Zustand wird modifiziert)  measure HMeasure, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Messobjekts.

SetTypeSetTypeSetTypeSetTypesetType (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Auswahl des Fuzzy-Sets.

Defaultwert: 'contrast' "contrast" "contrast" "contrast" "contrast"

Werteliste: 'contrast'"contrast""contrast""contrast""contrast", 'gray'"gray""gray""gray""gray", 'position'"position""position""position""position", 'position_center'"position_center""position_center""position_center""position_center", 'position_end'"position_end""position_end""position_end""position_end", 'position_first_edge'"position_first_edge""position_first_edge""position_first_edge""position_first_edge", 'position_first_pair'"position_first_pair""position_first_pair""position_first_pair""position_first_pair", 'position_last_edge'"position_last_edge""position_last_edge""position_last_edge""position_last_edge", 'position_last_pair'"position_last_pair""position_last_pair""position_last_pair""position_last_pair", 'position_pair_center'"position_pair_center""position_pair_center""position_pair_center""position_pair_center", 'position_pair_end'"position_pair_end""position_pair_end""position_pair_end""position_pair_end", 'size'"size""size""size""size"

FunctionFunctionFunctionFunctionfunction (input_control)  function_1d HFunction1D, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Fuzzy-Funktion.

Beispiel (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 transform it to expected size of 13.45 pixels
transform_funct_1d (SizeFunction, [1.0,0.0,13.45,0.0], TransformedFunction)
set_fuzzy_measure (MeasureHandle, 'size', TransformedFunction)

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

Vorgänger

gen_measure_arcgen_measure_arcGenMeasureArcGenMeasureArcGenMeasureArc, gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2GenMeasureRectangle2, create_funct_1d_pairscreate_funct_1d_pairsCreateFunct1dPairsCreateFunct1dPairsCreateFunct1dPairs, transform_funct_1dtransform_funct_1dTransformFunct1dTransformFunct1dTransformFunct1d

Nachfolger

fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePosFuzzyMeasurePos, fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairsFuzzyMeasurePairs

Alternativen

set_fuzzy_measure_norm_pairset_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPair

Siehe auch

reset_fuzzy_measurereset_fuzzy_measureResetFuzzyMeasureResetFuzzyMeasureResetFuzzyMeasure

Modul

1D Metrology