apply_sample_identifierT_apply_sample_identifierApplySampleIdentifierApplySampleIdentifier (Operator)

Name

apply_sample_identifierT_apply_sample_identifierApplySampleIdentifierApplySampleIdentifier — Identifizieren von Objekten mit einem Sample-Identifikator.

Signatur

apply_sample_identifier(Image : : SampleIdentifier, NumResults, RatingThreshold, GenParamName, GenParamValue : ObjectIdx, Rating)

Herror T_apply_sample_identifier(const Hobject Image, const Htuple SampleIdentifier, const Htuple NumResults, const Htuple RatingThreshold, const Htuple GenParamName, const Htuple GenParamValue, Htuple* ObjectIdx, Htuple* Rating)

void ApplySampleIdentifier(const HObject& Image, const HTuple& SampleIdentifier, const HTuple& NumResults, const HTuple& RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectIdx, HTuple* Rating)

HTuple HImage::ApplySampleIdentifier(const HSampleIdentifier& SampleIdentifier, Hlong NumResults, double RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Rating) const

Hlong HImage::ApplySampleIdentifier(const HSampleIdentifier& SampleIdentifier, Hlong NumResults, double RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, double* Rating) const

HTuple HSampleIdentifier::ApplySampleIdentifier(const HImage& Image, Hlong NumResults, double RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Rating) const

Hlong HSampleIdentifier::ApplySampleIdentifier(const HImage& Image, Hlong NumResults, double RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, double* Rating) const

static void HOperatorSet.ApplySampleIdentifier(HObject image, HTuple sampleIdentifier, HTuple numResults, HTuple ratingThreshold, HTuple genParamName, HTuple genParamValue, out HTuple objectIdx, out HTuple rating)

HTuple HImage.ApplySampleIdentifier(HSampleIdentifier sampleIdentifier, int numResults, double ratingThreshold, HTuple genParamName, HTuple genParamValue, out HTuple rating)

int HImage.ApplySampleIdentifier(HSampleIdentifier sampleIdentifier, int numResults, double ratingThreshold, HTuple genParamName, HTuple genParamValue, out double rating)

HTuple HSampleIdentifier.ApplySampleIdentifier(HImage image, int numResults, double ratingThreshold, HTuple genParamName, HTuple genParamValue, out HTuple rating)

int HSampleIdentifier.ApplySampleIdentifier(HImage image, int numResults, double ratingThreshold, HTuple genParamName, HTuple genParamValue, out double rating)

Beschreibung

apply_sample_identifierapply_sample_identifierApplySampleIdentifierApplySampleIdentifierApplySampleIdentifier identifiziert das Objekt im Bild ImageImageImageImageimage mit dem gegebenen Sample-Identifikator SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier und liefert den entsprechenden Objektindex in ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdx zurück.

Das Konzept der samplebasierten Identifikation ist bei der Einleitung zu Kapitel Identifizierung / Samplebasiert beschrieben.

Der Operator apply_sample_identifierapply_sample_identifierApplySampleIdentifierApplySampleIdentifierApplySampleIdentifier kann nur ein Objekt pro Suchbild identifizieren. Das bedeutet, dass das in ImageImageImageImageimage übergebene Suchbild, oder genauer gesagt dessen Domain, nur ein Objekt enthalten darf. Der Parameter NumResultsNumResultsNumResultsNumResultsnumResults gibt die Anzahl von Hypothesen an, die zurückgegeben werden. Die Hypothesen sind dabei nach ihrer Bewertung sortiert. Wenn der generische Parameter 'apply_rating_threshold'"apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold" auf 'true'"true""true""true""true" gesetzt ist (siehe unten), werden nur solche Hypothesen zurück gegeben, deren Bewertung besser als der in RatingThresholdRatingThresholdRatingThresholdRatingThresholdratingThreshold angegebenen Schwellwert ist.

Der Objektindex des identifizierten Objekts wird in ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdx zurückgegeben und die entsprechende Bewertung in RatingRatingRatingRatingrating. Wenn NumResultsNumResultsNumResultsNumResultsnumResults auf einen Wert größer als 1 gesetzt ist, werden die Objektindizes und die Bewertungen der besten NumResultsNumResultsNumResultsNumResultsnumResults Hypothesen in ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdx und RatingRatingRatingRatingrating zurückgegeben.

Mit den folgenden generischen Parametern kann das Verhalten des Sample-Identifikators SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier beeinflusst werden. Die Parameter und ihre Werte können in GenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue übergeben werden. Die folgenden generischen Parameter können gesetzt werden:

'rating_method'"rating_method""rating_method""rating_method""rating_method":

Dieser Parameter legt fest, welche Bewertungsmethode für die Identifikation der Objekte verwendet wird. Es stehen drei unterschiedliche Bewertungsmethoden zur Auswahl:

'distance'"distance""distance""distance""distance"

Die Bewertung wird aufgrund der Distanz zwischen den Merkmalen im Suchbild und den trainierten Samplebildern durchgeführt. Die Bewertungen liegen zwischen 0.0 und 2.0. Sind Suchbild und Samplebild identisch, so wird eine Bewertung von 0.0 im Parameter RatingRatingRatingRatingrating zurückgegeben. Je stärker sich die Bilder unterscheiden, desto höher wird die Bewertung. Bei dieser Bewertungsmethode werden die Rohdaten der Bewertung zurückgegeben. Diese Bewertungsmethode hat den Vorteil, dass die Bewertung nur von den Samples für das Training abhängt, die für das identifizierte Objekt trainiert wurden. Die Bewertungen der beiden anderen Bewertungsmethoden hängen auch von allen übrigen Samples für das Training ab.

'score'"score""score""score""score"

Die Bewertung basiert auf einer komplizierten Kombination der einzelnen Auswertungen für Textur und Farbe. Die Bewertungen liegen zwischen 0.0 und 1.0. Höhere Werte bedeuten eine bessere Übereinstimmung. Wird sowohl Textur als auch Farbe verwendet, liefert diese Bewertungsmethode die besten Ergebnisse und sollte daher in diesem Fall auch verwendet werden. Ein Nachteil dieser Bewertungsmethode ist, dass die Bewertungen von Trainingsbildern typischerweise deutlich unter 1.0 liegt. Außerdem muss ein passender Schwellwert für jede Anwendung gesondert bestimmt werden.

'score_single'"score_single""score_single""score_single""score_single"

Die Bewertung basiert auf einer einfachen Kombination der einzelnen Auswertungen für Textur und Farbe. Die Bewertungen liegen zwischen 0.0 und 1.0. Höhere Werte bedeuten eine bessere Übereinstimmung. Wird sowohl Textur wie auch Farbe verwendet, liefert die Bewertungsmethode 'score'"score""score""score""score" bessere Ergebnisse. Der Vorteil der Bewertungsmethode 'score_single'"score_single""score_single""score_single""score_single" ist, dass sie für Trainingsbilder die Bewertung 1.0 liefert. Daher sollte diese Methode angewendet werden, wenn nur Textur oder nur Farbe für die Identifikation verwendet werden. Bei dieser Bewertungsmethode ist es auch leichter einen passenden Schwellwert festzulegen, als bei der Bewertungsmethode 'score'"score""score""score""score".

Es ist zu beachten, dass die Wahl der Bewertungsmethode nicht nur die (Zahlenwerte der) Bewertung beeinflusst, die im Parameter RatingRatingRatingRatingrating zurückgegeben wird, sondern auch die eigentliche Identifikation der Objekte.

Werteliste: 'distance'"distance""distance""distance""distance", 'score'"score""score""score""score", 'score_single'"score_single""score_single""score_single""score_single"

Defaultwert: 'score'"score""score""score""score"

'apply_rating_threshold'"apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold":

Dieser Parameter legt fest, ob der in RatingThresholdRatingThresholdRatingThresholdRatingThresholdratingThreshold übergebene Schwellwert angewendet wird, oder nicht. Wenn 'apply_rating_threshold'"apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold" auf 'true'"true""true""true""true" gesetzt ist, wird der Schwellwert angewendet.

Werteliste: 'true'"true""true""true""true", 'false'"false""false""false""false"

Defaultwert: 'true'"true""true""true""true"

'use_color_info'"use_color_info""use_color_info""use_color_info""use_color_info":

Siehe set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParam für eine Beschreibung dieses Parameters.

Werteliste: 'true'"true""true""true""true", 'false'"false""false""false""false"

Defaultwert: So lange 'use_color_info'"use_color_info""use_color_info""use_color_info""use_color_info" nicht gesetzt wird, wird der Wert verwendet, der mit 'add_color_info'"add_color_info""add_color_info""add_color_info""add_color_info" in create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier gesetzt wurde.

'use_texture_info'"use_texture_info""use_texture_info""use_texture_info""use_texture_info":

Siehe set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParam für eine Beschreibung dieses Parameters.

Werteliste: 'true'"true""true""true""true", 'false'"false""false""false""false"

Defaultwert: So lange 'use_texture_info'"use_texture_info""use_texture_info""use_texture_info""use_texture_info" nicht gesetzt wird, wird der Wert verwendet, der mit 'add_texture_info'"add_texture_info""add_texture_info""add_texture_info""add_texture_info" in create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier gesetzt wurde.

'image_resize_method'"image_resize_method""image_resize_method""image_resize_method""image_resize_method":

Siehe create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier für eine Beschreibung dieses Parameters.

Werteliste: 'none'"none""none""none""none", 'scale_factor'"scale_factor""scale_factor""scale_factor""scale_factor", 'subsampling_step'"subsampling_step""subsampling_step""subsampling_step""subsampling_step", 'image_area'"image_area""image_area""image_area""image_area"

Defaultwert: Wenn 'image_resize_method'"image_resize_method""image_resize_method""image_resize_method""image_resize_method" nicht explizit mit diesem Operator gesetzt wird, wird der Wert verwendet, der mit create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier oder mit set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParam gesetzt wurde.

'image_resize_value'"image_resize_value""image_resize_value""image_resize_value""image_resize_value":

Siehe create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier für eine Beschreibung dieses Parameters. Es ist hierbei zu beachten, dass die zu identifizierenden Objekte in den Suchbildern in etwa in derselben Größe erscheinen, wie in den Samples für das Training.

Wertevorschläge: 0.25, 0.5, 1.0, 2, 3, 4

Defaultwert: Wenn 'image_resize_value'"image_resize_value""image_resize_value""image_resize_value""image_resize_value" nicht explizit mit diesem Operator gesetzt wird, wird der Wert verwendet, der mit create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier oder mit set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParam gesetzt wurde.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  (multichannel-)image objectHImageHImageHobject (byte)

Bild, das das zu identifizierende Objekt zeigt.

SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier (input_control)  sample_identifier HSampleIdentifier, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Sample-Identifikators.

NumResultsNumResultsNumResultsNumResultsnumResults (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl der Hypothesen, die zurückgegeben werden.

Defaultwert: 1

Wertevorschläge: 1, 2, 3, 4, 5, 10

RatingThresholdRatingThresholdRatingThresholdRatingThresholdratingThreshold (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Schwellwert für die Bewertung.

Defaultwert: 0.0

Wertevorschläge: 0.05, 0.1, 0.15, 0.2

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Generischer Parametername.

Defaultwert: []

Werteliste: 'apply_rating_threshold'"apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold", 'image_resize_method'"image_resize_method""image_resize_method""image_resize_method""image_resize_method", 'image_resize_value'"image_resize_value""image_resize_value""image_resize_value""image_resize_value", 'rating_method'"rating_method""rating_method""rating_method""rating_method", 'use_color_info'"use_color_info""use_color_info""use_color_info""use_color_info", 'use_texture_info'"use_texture_info""use_texture_info""use_texture_info""use_texture_info"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value-array HTupleHTupleHtuple (real / string / integer) (double / string / int / long) (double / HString / Hlong) (double / char* / Hlong)

Generischer Parameterwert.

Defaultwert: []

Werteliste: 'distance'"distance""distance""distance""distance", 'false'"false""false""false""false", 'score'"score""score""score""score", 'score_single'"score_single""score_single""score_single""score_single", 'true'"true""true""true""true"

ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdx (output_control)  integer(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index des identifizierten Objekts.

RatingRatingRatingRatingrating (output_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Bewertung des identifizierten Objekts.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert apply_sample_identifierapply_sample_identifierApplySampleIdentifierApplySampleIdentifierApplySampleIdentifier den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_sample_identifiertrain_sample_identifierTrainSampleIdentifierTrainSampleIdentifierTrainSampleIdentifier, read_sample_identifierread_sample_identifierReadSampleIdentifierReadSampleIdentifierReadSampleIdentifier

Nachfolger

add_sample_identifier_training_dataadd_sample_identifier_training_dataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingData

Siehe auch

create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier, add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData, prepare_sample_identifierprepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifierPrepareSampleIdentifier, set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParam, get_sample_identifier_paramget_sample_identifier_paramGetSampleIdentifierParamGetSampleIdentifierParamGetSampleIdentifierParam, get_sample_identifier_object_infoget_sample_identifier_object_infoGetSampleIdentifierObjectInfoGetSampleIdentifierObjectInfoGetSampleIdentifierObjectInfo, remove_sample_identifier_preparation_dataremove_sample_identifier_preparation_dataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationData, remove_sample_identifier_training_dataremove_sample_identifier_training_dataRemoveSampleIdentifierTrainingDataRemoveSampleIdentifierTrainingDataRemoveSampleIdentifierTrainingData, write_sample_identifierwrite_sample_identifierWriteSampleIdentifierWriteSampleIdentifierWriteSampleIdentifier, serialize_sample_identifierserialize_sample_identifierSerializeSampleIdentifierSerializeSampleIdentifierSerializeSampleIdentifier, deserialize_sample_identifierdeserialize_sample_identifierDeserializeSampleIdentifierDeserializeSampleIdentifierDeserializeSampleIdentifier, clear_sample_identifierclear_sample_identifierClearSampleIdentifierClearSampleIdentifierClearSampleIdentifier, set_sample_identifier_object_infoset_sample_identifier_object_infoSetSampleIdentifierObjectInfoSetSampleIdentifierObjectInfoSetSampleIdentifierObjectInfo

Modul

Matching