set_fuzzy_measureT_set_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasureset_fuzzy_measure (Operator)

Name

set_fuzzy_measureT_set_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasureset_fuzzy_measure — 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)

def set_fuzzy_measure(measure_handle: HHandle, set_type: str, function: Sequence[Union[float, int]]) -> None

Beschreibung

set_fuzzy_measureset_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasureSetFuzzyMeasureset_fuzzy_measure legt eine Fuzzy-Funktion fest, welche dem Parameter FunctionFunctionFunctionFunctionfunctionfunction übergeben wird und in den Operatoren fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePosFuzzyMeasurePosfuzzy_measure_pos, fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairsFuzzyMeasurePairsfuzzy_measure_pairs und fuzzy_measure_pairingfuzzy_measure_pairingFuzzyMeasurePairingFuzzyMeasurePairingFuzzyMeasurePairingfuzzy_measure_pairing 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_measureResetFuzzyMeasureResetFuzzyMeasureResetFuzzyMeasurereset_fuzzy_measure 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 exklusiv 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_pairsCreateFunct1dPairsCreateFunct1dPairsCreateFunct1dPairscreate_funct_1d_pairs Operators erzeugt werden.

Wird mehr als ein Fuzzy-Set definiert setzt sich für fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePosFuzzyMeasurePosfuzzy_measure_pos / fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairsFuzzyMeasurePairsfuzzy_measure_pairs / fuzzy_measure_pairingfuzzy_measure_pairingFuzzyMeasurePairingFuzzyMeasurePairingFuzzyMeasurePairingfuzzy_measure_pairing 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

MeasureHandleMeasureHandleMeasureHandleMeasureHandlemeasureHandlemeasure_handle (input_control, Zustand wird modifiziert)  measure HMeasure, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Messobjekts.

SetTypeSetTypeSetTypeSetTypesetTypeset_type (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Auswahl des Fuzzy-Sets.

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

Werteliste: 'contrast'"contrast""contrast""contrast""contrast""contrast", 'gray'"gray""gray""gray""gray""gray", 'position'"position""position""position""position""position", 'position_center'"position_center""position_center""position_center""position_center""position_center", 'position_end'"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_edge", 'position_first_pair'"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_edge", 'position_last_pair'"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_center", 'position_pair_end'"position_pair_end""position_pair_end""position_pair_end""position_pair_end""position_pair_end", 'size'"size""size""size""size""size"

FunctionFunctionFunctionFunctionfunctionfunction (input_control)  function_1d HFunction1D, HTupleSequence[Union[float, int]]HTupleHtuple (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_arcGenMeasureArcGenMeasureArcGenMeasureArcgen_measure_arc, gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2GenMeasureRectangle2gen_measure_rectangle2, create_funct_1d_pairscreate_funct_1d_pairsCreateFunct1dPairsCreateFunct1dPairsCreateFunct1dPairscreate_funct_1d_pairs, transform_funct_1dtransform_funct_1dTransformFunct1dTransformFunct1dTransformFunct1dtransform_funct_1d

Nachfolger

fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePosFuzzyMeasurePosfuzzy_measure_pos, fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairsFuzzyMeasurePairsfuzzy_measure_pairs

Alternativen

set_fuzzy_measure_norm_pairset_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPairset_fuzzy_measure_norm_pair

Siehe auch

reset_fuzzy_measurereset_fuzzy_measureResetFuzzyMeasureResetFuzzyMeasureResetFuzzyMeasurereset_fuzzy_measure

Modul

1D Metrology