apply_sample_identifierT_apply_sample_identifierApplySampleIdentifierApplySampleIdentifier (Operator)
Name
apply_sample_identifierT_apply_sample_identifierApplySampleIdentifierApplySampleIdentifier
— Identifizieren von Objekten mit einem Sample-Identifikator.
Signatur
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf interner Datenebene.
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