set_planar_uncalib_deformable_model_metricT_set_planar_uncalib_deformable_model_metricSetPlanarUncalibDeformableModelMetricSetPlanarUncalibDeformableModelMetricset_planar_uncalib_deformable_model_metric (Operator)
Name
set_planar_uncalib_deformable_model_metricT_set_planar_uncalib_deformable_model_metricSetPlanarUncalibDeformableModelMetricSetPlanarUncalibDeformableModelMetricset_planar_uncalib_deformable_model_metric — Setzen der Metrik eines planaren unkalibrierten deformierbaren Modells, das
aus XLD-Konturen erzeugt wurde.
Signatur
Herror T_set_planar_uncalib_deformable_model_metric(const Hobject Image, const Htuple ModelID, const Htuple HomMat2D, const Htuple Metric)
void SetPlanarUncalibDeformableModelMetric(const HObject& Image, const HTuple& ModelID, const HTuple& HomMat2D, const HTuple& Metric)
void HDeformableModel::SetPlanarUncalibDeformableModelMetric(const HImage& Image, const HHomMat2D& HomMat2D, const HString& Metric) const
void HDeformableModel::SetPlanarUncalibDeformableModelMetric(const HImage& Image, const HHomMat2D& HomMat2D, const char* Metric) const
void HDeformableModel::SetPlanarUncalibDeformableModelMetric(const HImage& Image, const HHomMat2D& HomMat2D, const wchar_t* Metric) const
(Nur Windows)
void HImage::SetPlanarUncalibDeformableModelMetric(const HDeformableModel& ModelID, const HHomMat2D& HomMat2D, const HString& Metric) const
void HImage::SetPlanarUncalibDeformableModelMetric(const HDeformableModel& ModelID, const HHomMat2D& HomMat2D, const char* Metric) const
void HImage::SetPlanarUncalibDeformableModelMetric(const HDeformableModel& ModelID, const HHomMat2D& HomMat2D, const wchar_t* Metric) const
(Nur Windows)
Beschreibung
set_planar_uncalib_deformable_model_metricset_planar_uncalib_deformable_model_metricSetPlanarUncalibDeformableModelMetricSetPlanarUncalibDeformableModelMetricSetPlanarUncalibDeformableModelMetricset_planar_uncalib_deformable_model_metric ändert den Wert des
Parameters MetricMetricMetricMetricmetricmetric der bei der Erstellung des Formmodells
ModelIDModelIDModelIDModelIDmodelIDmodel_id aus XLD Konturen gesetzt wurde. Weil keine Information
über die Polarität von Modellkonturen aus XLD Konturen vorhanden ist, wird
die Polarität unter Verwendung des Bildes ImageImageImageImageimageimage bestimmt. Dafür
werden die Modellkonturen und die entsprechende Position an der das Objekt
im Bild ImageImageImageImageimageimage erscheint mit Hilfe von HomMat2DHomMat2DHomMat2DHomMat2DhomMat2Dhom_mat_2d abgebildet.
HomMat2DHomMat2DHomMat2DHomMat2DhomMat2Dhom_mat_2d kann mit einem vorherigen Aufruf von
find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_model ermittelt werden.
Der Parameter MetricMetricMetricMetricmetricmetric legt fest, unter welchen Bedingungen das Muster
später im Suchbild noch erkannt wird. Falls MetricMetricMetricMetricmetricmetric =
'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity""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 MetricMetricMetricMetricmetricmetric
= 'ignore_global_polarity'"ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""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_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_model erhöht sich in
diesem Fall geringfügig.
Es muss sichergestellt werden, dass die Objektkonturen im Bild ImageImageImageImageimageimage
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 ImageImageImageImageimageimage ü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 MetricMetricMetricMetricmetricmetric bei der Erzeugung des Formmodells aus den
XLD-Konturen auf den Wert 'ignore_local_polarity'"ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity" gesetzt werden.
Dann kann das Modell in einem ersten Suchbild gefunden werden. Aus den
resultierenden Matchingergebnissen lassen sich die Transformationsparameter
(HomMat2DHomMat2DHomMat2DHomMat2DhomMat2Dhom_mat_2d) bestimmen, die die Modellkonturen an die Stelle des
Suchbildes abbilden, an der das Objekt erscheint. Um die Matchingergebnisse
interaktiv zu kontrollieren, können die Modellkonturen entsprechend
transformiert werden. Ist das Matchingergebnis korrekt, kann der Wert des
Parameters MetricMetricMetricMetricmetricmetric z.B. zu 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity""use_polarity" verändert werden.
Dies führt in den nachfolgenden Bildern zu einer schnelleren und robusteren
Erkennung.
Achtung
set_planar_uncalib_deformable_model_metricset_planar_uncalib_deformable_model_metricSetPlanarUncalibDeformableModelMetricSetPlanarUncalibDeformableModelMetricSetPlanarUncalibDeformableModelMetricset_planar_uncalib_deformable_model_metric kann nur mit Modellen
genutzt werden, die aus XLD-Konturen erzeugt wurden.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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
ImageImageImageImageimageimage (input_object) singlechannelimage → objectHImageHObjectHImageHobject (byte / uint2)
Eingabebild, das zur Bestimmung der Polarität
verwendet wird.
ModelIDModelIDModelIDModelIDmodelIDmodel_id (input_control, Zustand wird modifiziert) deformable_model → HDeformableModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Modells.
HomMat2DHomMat2DHomMat2DHomMat2DhomMat2Dhom_mat_2d (input_control) hom_mat2d → HHomMat2D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Transformationsmatrix.
MetricMetricMetricMetricmetricmetric (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Art der zum Matchen verwendeten Metrik.
Defaultwert:
'use_polarity'
"use_polarity"
"use_polarity"
"use_polarity"
"use_polarity"
"use_polarity"
Werteliste: 'ignore_global_polarity'"ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity", 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity""use_polarity"
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
set_planar_uncalib_deformable_model_metricset_planar_uncalib_deformable_model_metricSetPlanarUncalibDeformableModelMetricSetPlanarUncalibDeformableModelMetricSetPlanarUncalibDeformableModelMetricset_planar_uncalib_deformable_model_metric den Wert TRUE.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
create_planar_uncalib_deformable_model_xldcreate_planar_uncalib_deformable_model_xldCreatePlanarUncalibDeformableModelXldCreatePlanarUncalibDeformableModelXldCreatePlanarUncalibDeformableModelXldcreate_planar_uncalib_deformable_model_xld,
find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_model
Nachfolger
find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_model
Siehe auch
create_planar_uncalib_deformable_model_xldcreate_planar_uncalib_deformable_model_xldCreatePlanarUncalibDeformableModelXldCreatePlanarUncalibDeformableModelXldCreatePlanarUncalibDeformableModelXldcreate_planar_uncalib_deformable_model_xld
Modul
Matching