KlassenKlassenKlassenKlassen | | | | Operatoren

set_fuzzy_measureT_set_fuzzy_measureSetFuzzyMeasureset_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasure (Operator)

Name

set_fuzzy_measureT_set_fuzzy_measureSetFuzzyMeasureset_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)

Herror set_fuzzy_measure(const HTuple& MeasureHandle, const HTuple& SetType, const HTuple& Function)

void HMeasure::SetFuzzyMeasure(const HTuple& SetType, const HTuple& Function) const

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 HOperatorSetX.SetFuzzyMeasure(
[in] VARIANT MeasureHandle, [in] VARIANT SetType, [in] VARIANT Function)

void HMeasureX.SetFuzzyMeasure(
[in] BSTR SetType, [in] IHFunction1DX* Function)

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

void HMeasure.SetFuzzyMeasure(string setType, HFunction1D function)

Beschreibung

set_fuzzy_measureset_fuzzy_measureSetFuzzyMeasureset_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasure legt eine Fuzzy-Funktion fest, welche dem Parameter FunctionFunctionFunctionFunctionFunctionfunction übergeben wird und in den Operatoren fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePos, fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairs und fuzzy_measure_pairingfuzzy_measure_pairingFuzzyMeasurePairingfuzzy_measure_pairingFuzzyMeasurePairingFuzzyMeasurePairing 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_measureResetFuzzyMeasurereset_fuzzy_measureResetFuzzyMeasureResetFuzzyMeasure Operators.

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_pairsCreateFunct1dPairscreate_funct_1d_pairsCreateFunct1dPairsCreateFunct1dPairs Operators erzeugt werden.

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

Parallelisierung

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.

Parameter

MeasureHandleMeasureHandleMeasureHandleMeasureHandleMeasureHandlemeasureHandle (input_control, Zustand wird modifiziert)  measure_id HMeasure, HTupleHTupleHMeasure, HTupleHMeasureX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Messobjekts.

SetTypeSetTypeSetTypeSetTypeSetTypesetType (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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, HTupleHTupleHFunction1D, HTupleHFunction1DX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (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', SizeFunction)

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_arcGenMeasureArcgen_measure_arcGenMeasureArcGenMeasureArc, gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2, create_funct_1d_pairscreate_funct_1d_pairsCreateFunct1dPairscreate_funct_1d_pairsCreateFunct1dPairsCreateFunct1dPairs, transform_funct_1dtransform_funct_1dTransformFunct1dtransform_funct_1dTransformFunct1dTransformFunct1d

Nachfolger

fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePos, fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairs

Alternativen

set_fuzzy_measure_norm_pairset_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairset_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPair

Siehe auch

reset_fuzzy_measurereset_fuzzy_measureResetFuzzyMeasurereset_fuzzy_measureResetFuzzyMeasureResetFuzzyMeasure

Modul

1D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren