set_local_deformable_model_metric
— Setzen der Metrik eines lokal deformierbaren Modells, das aus XLD-Konturen
erzeugt wurde.
set_local_deformable_model_metric(Image, VectorField : : ModelID, Metric : )
set_local_deformable_model_metric
ermöglicht eine Änderung des Wertes
des Parameters Metric
, der bei der Erstellung des Formmodells
ModelID
gesetzt wurde. Weil keine Information über die Polarität
von Modellkonturen aus XLD Konturen vorhanden ist, wird die Polarität unter
Verwendung des Bildes Image
bestimmt. Dafür werden die
Modellkonturen an der entsprechenden Position an der das Objekt im Bild
Image
erscheint, abgebildet. Hierfür wird das VectorField
benötigt, welches vom semantischen Typ 'vector_field_absolute' sein muss
und mit einem vorherigen Aufruf von find_local_deformable_model
ermittelt wird. Es ist zu beachten, das
die 'expand_border' Option in find_local_deformable_model
nicht
verwendet werden darf, da sonst das zurückgelieferte VectorField
die
falsche Größe hat.
Der Parameter Metric
legt fest, unter welchen Bedingungen das Muster
später im Suchbild noch erkannt wird. Falls Metric
=
'use_polarity' , muss das Objekt im Bild dieselben
Kontrasteigenschaften aufweisen wie das Modell. Wenn z.B. das Modell ein
helles Objekt auf dunklem Hintergrund ist, wird das Objekt im Bild nur dann
gefunden, wenn es auch heller als der Hintergrund ist. Falls Metric
= 'ignore_global_polarity' , wird das Objekt auch dann im Bild
gefunden, wenn sich der Kontrast global umkehrt. Im obigen Beispiel würde
das Objekt also auch dann gefunden, wenn es dunkler als der Hintergrund ist.
Die Laufzeit von find_local_deformable_model
erhöht sich in
diesem Fall geringfügig.
Es muss sichergestellt werden, dass die Objektkonturen im Bild Image
die gleiche (oder inverse) Polarität aufweisen wie die entsprechenden
Konturen im späteren Suchbild. Insbesondere darf das Objekt nicht verdeckt
sein und der Hintergrund muss entweder heller oder dunkler sein als das
Objekt. Ansonsten stimmt die Polarität der Modellkanten nicht mit der
Polarität der Kanten im Suchbild überein und das Formmodell kann dort nicht
gefunden werden. Zu beachten ist, dass nur die Polarität der Konturen
bestimmt wird, nicht ihr Kontrast. Des Weiteren ist zu beachten, dass die
Polarität nur aus einem einkanaligen Bild bestimmt wird. Wird ein
Mehrkanalbild in Image
übergeben, so wird nur der erste Kanal
verwendet (und keine Fehlermeldung zurückgegeben).
Eine typische Vorgehensweise besteht darin, zuerst die XLD-Konturen aus einer
Datei einzulesen. Da diese XLD-Konturen keine Polaritätsinformation haben,
muss der Parameter Metric
bei der Erzeugung des Formmodells aus den
XLD-Konturen auf den Wert 'ignore_local_polarity' gesetzt werden.
Dann kann das Modell in einem ersten Suchbild gefunden werden. Aus den
resultierenden Matchingergebnissen lassen sich die Transformationsparameter
(VectorField
) bestimmen, die die Modellkonturen an der Stelle des
Suchbildes abbilden, an der das Objekt erscheint. Ist das Matchingergebnis
korrekt, kann der Wert des Parameters Metric
z.B. auf
'use_polarity' gesetzt werden. Dies führt in den nachfolgenden
Bildern zu einer schnelleren und robusteren Erkennung.
set_local_deformable_model_metric
kann nur mit Modellen genutzt
werden, die aus XLD-Konturen erzeugt wurden.
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.
Image
(input_object) singlechannelimage →
object (byte / uint2)
Eingabebild, das zur Bestimmung der Polarität verwendet wird.
VectorField
(input_object) singlechannelimage →
object (vector_field)
Vektorfeld der lokalen Deformation.
ModelID
(input_control, Zustand wird modifiziert) deformable_model →
(handle)
Handle des Modells.
Metric
(input_control) string →
(string)
Art der zum Matchen verwendeten Metrik.
Defaultwert: 'use_polarity'
Werteliste: 'ignore_global_polarity' , 'use_polarity'
Sind die Parameterwerte korrekt, dann liefert
set_local_deformable_model_metric
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
create_local_deformable_model_xld
,
find_local_deformable_model
create_local_deformable_model_xld
Matching