KlassenKlassenKlassenKlassen | | | | Operatoren

create_planar_uncalib_deformable_modelT_create_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel (Operator)

Name

create_planar_uncalib_deformable_modelT_create_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel — Erzeugt ein deformierbares Modell für unkalibriertes, planares Matching.

Signatur

create_planar_uncalib_deformable_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, Contrast, MinContrast, GenParamName, GenParamValue : ModelID)

Herror T_create_planar_uncalib_deformable_model(const Hobject Template, const Htuple NumLevels, const Htuple AngleStart, const Htuple AngleExtent, const Htuple AngleStep, const Htuple ScaleRMin, const Htuple ScaleRMax, const Htuple ScaleRStep, const Htuple ScaleCMin, const Htuple ScaleCMax, const Htuple ScaleCStep, const Htuple Optimization, const Htuple Metric, const Htuple Contrast, const Htuple MinContrast, const Htuple GenParamName, const Htuple GenParamValue, Htuple* ModelID)

Herror create_planar_uncalib_deformable_model(Hobject Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, Hlong* ModelID)

HDeformableModel HImage::CreatePlanarUncalibDeformableModel(const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const

void HDeformableModel::CreatePlanarUncalibDeformableModel(const HImage& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue)

void CreatePlanarUncalibDeformableModel(const HObject& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, const HTuple& ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, const HTuple& ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HTuple& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ModelID)

void HDeformableModel::HDeformableModel(const HImage& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, double ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue)

void HDeformableModel::HDeformableModel(const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue)

void HDeformableModel::HDeformableModel(const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue)

void HDeformableModel::CreatePlanarUncalibDeformableModel(const HImage& Template, const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, double ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue)

void HDeformableModel::CreatePlanarUncalibDeformableModel(const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue)

void HDeformableModel::CreatePlanarUncalibDeformableModel(const HImage& Template, Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue)

HDeformableModel HImage::CreatePlanarUncalibDeformableModel(const HTuple& NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, const HTuple& AngleStep, double ScaleRMin, const HTuple& ScaleRMax, const HTuple& ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, const HTuple& ScaleCStep, const HTuple& Optimization, const HString& Metric, const HTuple& Contrast, const HTuple& MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const

HDeformableModel HImage::CreatePlanarUncalibDeformableModel(Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const HString& Optimization, const HString& Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const

HDeformableModel HImage::CreatePlanarUncalibDeformableModel(Hlong NumLevels, const HTuple& AngleStart, const HTuple& AngleExtent, double AngleStep, double ScaleRMin, const HTuple& ScaleRMax, double ScaleRStep, double ScaleCMin, const HTuple& ScaleCMax, double ScaleCStep, const char* Optimization, const char* Metric, const HTuple& Contrast, Hlong MinContrast, const HTuple& GenParamName, const HTuple& GenParamValue) const

void HOperatorSetX.CreatePlanarUncalibDeformableModel(
[in] IHUntypedObjectX* Template, [in] VARIANT NumLevels, [in] VARIANT AngleStart, [in] VARIANT AngleExtent, [in] VARIANT AngleStep, [in] VARIANT ScaleRMin, [in] VARIANT ScaleRMax, [in] VARIANT ScaleRStep, [in] VARIANT ScaleCMin, [in] VARIANT ScaleCMax, [in] VARIANT ScaleCStep, [in] VARIANT Optimization, [in] VARIANT Metric, [in] VARIANT Contrast, [in] VARIANT MinContrast, [in] VARIANT GenParamName, [in] VARIANT GenParamValue, [out] VARIANT* ModelID)

void HDeformableModelX.CreatePlanarUncalibDeformableModel(
[in] IHImageX* Template, [in] VARIANT NumLevels, [in] VARIANT AngleStart, [in] VARIANT AngleExtent, [in] VARIANT AngleStep, [in] double ScaleRMin, [in] VARIANT ScaleRMax, [in] VARIANT ScaleRStep, [in] double ScaleCMin, [in] VARIANT ScaleCMax, [in] VARIANT ScaleCStep, [in] VARIANT Optimization, [in] BSTR Metric, [in] VARIANT Contrast, [in] VARIANT MinContrast, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

IHDeformableModelX* HImageX.CreatePlanarUncalibDeformableModel(
[in] VARIANT NumLevels, [in] VARIANT AngleStart, [in] VARIANT AngleExtent, [in] VARIANT AngleStep, [in] double ScaleRMin, [in] VARIANT ScaleRMax, [in] VARIANT ScaleRStep, [in] double ScaleCMin, [in] VARIANT ScaleCMax, [in] VARIANT ScaleCStep, [in] VARIANT Optimization, [in] BSTR Metric, [in] VARIANT Contrast, [in] VARIANT MinContrast, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)

static void HOperatorSet.CreatePlanarUncalibDeformableModel(HObject template, HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple angleStep, HTuple scaleRMin, HTuple scaleRMax, HTuple scaleRStep, HTuple scaleCMin, HTuple scaleCMax, HTuple scaleCStep, HTuple optimization, HTuple metric, HTuple contrast, HTuple minContrast, HTuple genParamName, HTuple genParamValue, out HTuple modelID)

public HDeformableModel(HImage template, HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple angleStep, double scaleRMin, HTuple scaleRMax, HTuple scaleRStep, double scaleCMin, HTuple scaleCMax, HTuple scaleCStep, HTuple optimization, string metric, HTuple contrast, HTuple minContrast, HTuple genParamName, HTuple genParamValue)

public HDeformableModel(HImage template, int numLevels, HTuple angleStart, HTuple angleExtent, double angleStep, double scaleRMin, HTuple scaleRMax, double scaleRStep, double scaleCMin, HTuple scaleCMax, double scaleCStep, string optimization, string metric, HTuple contrast, int minContrast, HTuple genParamName, HTuple genParamValue)

void HDeformableModel.CreatePlanarUncalibDeformableModel(HImage template, HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple angleStep, double scaleRMin, HTuple scaleRMax, HTuple scaleRStep, double scaleCMin, HTuple scaleCMax, HTuple scaleCStep, HTuple optimization, string metric, HTuple contrast, HTuple minContrast, HTuple genParamName, HTuple genParamValue)

void HDeformableModel.CreatePlanarUncalibDeformableModel(HImage template, int numLevels, HTuple angleStart, HTuple angleExtent, double angleStep, double scaleRMin, HTuple scaleRMax, double scaleRStep, double scaleCMin, HTuple scaleCMax, double scaleCStep, string optimization, string metric, HTuple contrast, int minContrast, HTuple genParamName, HTuple genParamValue)

HDeformableModel HImage.CreatePlanarUncalibDeformableModel(HTuple numLevels, HTuple angleStart, HTuple angleExtent, HTuple angleStep, double scaleRMin, HTuple scaleRMax, HTuple scaleRStep, double scaleCMin, HTuple scaleCMax, HTuple scaleCStep, HTuple optimization, string metric, HTuple contrast, HTuple minContrast, HTuple genParamName, HTuple genParamValue)

HDeformableModel HImage.CreatePlanarUncalibDeformableModel(int numLevels, HTuple angleStart, HTuple angleExtent, double angleStep, double scaleRMin, HTuple scaleRMax, double scaleRStep, double scaleCMin, HTuple scaleCMax, double scaleCStep, string optimization, string metric, HTuple contrast, int minContrast, HTuple genParamName, HTuple genParamValue)

Beschreibung

Der Operator create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel bereitet ein Muster, das als Bild TemplateTemplateTemplateTemplateTemplatetemplate übergeben wird, als deformierbares Modell für das Matching vor. Die ROI des Modells wird als der Definitionsbereich von TemplateTemplateTemplateTemplateTemplatetemplate übergeben.

Das planare, unkalibrierte Matching kann zum Erkennen von planaren Objekten oder planaren Teilen von nicht-planaren Objekten, die durch eine projektive Ansicht verzerrt wurden, verwendet werden.

Dies ist eine Alternative zu create_shape_modelcreate_shape_modelCreateShapeModelcreate_shape_modelCreateShapeModelCreateShapeModel, create_scaled_shape_modelcreate_scaled_shape_modelCreateScaledShapeModelcreate_scaled_shape_modelCreateScaledShapeModelCreateScaledShapeModel und create_aniso_shape_modelcreate_aniso_shape_modelCreateAnisoShapeModelcreate_aniso_shape_modelCreateAnisoShapeModelCreateAnisoShapeModel, bei denen typischerweise das Suchbild mit Hilfe von calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras und gen_image_to_world_plane_mapgen_image_to_world_plane_mapGenImageToWorldPlaneMapgen_image_to_world_plane_mapGenImageToWorldPlaneMapGenImageToWorldPlaneMap vorher entzerrt werden muss.

Im Gegensatz zu create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d werden vorab keine Ansichten des Objektes generiert, was zu einem kleineren Speicherverbrauch führt. Deshalb sollte in dem Fall eines planaren, perspektivisch verzerrten Objektes create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel vorgezogen werden.

Das Modell wird auf mehreren Pyramidenebenen generiert und im Speicher abgelegt. Der Ausgabeparameter ModelIDModelIDModelIDModelIDModelIDmodelID ist ein Handle für dieses Modell, der in nachfolgenden Aufrufen von find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel verwendet wird.

Als Ursprung (Referenzpunkt) des Modells wird der Schwerpunkt der Region des Modellbildes TemplateTemplateTemplateTemplateTemplatetemplate verwendet. Falls ein anderer Ursprung gewünscht wird, kann dieser mit set_deformable_model_originset_deformable_model_originSetDeformableModelOriginset_deformable_model_originSetDeformableModelOriginSetDeformableModelOrigin gesetzt werden.

Eingabeparameter im Detail

NumLevels:

Die Anzahl der Pyramidenebenen wird mit NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels festgelegt. Sie sollte so groß wie möglich gewählt werden, da hierdurch das Auffinden des Modells erheblich beschleunigt wird. Bei der Wahl von NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels ist aber darauf zu achten, dass das Modell auf der obersten Pyramidenstufe noch erkennbar ist und genügend viele Punkte besitzt. Falls nicht genügend Modellpunkte erzeugt werden, wird die Anzahl der Pyramidenstufen intern solange reduziert, bis auf der obersten Pyramidenstufe genügend Modellpunkte vorhanden sind. Falls durch diese Anpassung ein Modell mit 0 Pyramidenstufen entstehen würde, d.h. falls schon auf der untersten Pyramidenstufe zu wenige Modellpunkte vorhanden sind, liefert create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel eine Fehlermeldung zurück. Falls für NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels 'auto'"auto""auto""auto""auto""auto" übergeben wird, wählt create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel die Anzahl der Pyramidenstufen automatisch. Die automatisch gewählte Anzahl von Pyramidenstufen kann mit get_deformable_model_paramsget_deformable_model_paramsGetDeformableModelParamsget_deformable_model_paramsGetDeformableModelParamsGetDeformableModelParams abgefragt werden. In seltenen Fällen kann es vorkommen, dass create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel die Anzahl der Pyramidenstufen zu hoch oder zu niedrig bestimmt. Falls die Anzahl der Pyramidenstufen zu hoch gewählt wird, kann das dazu führen, dass das Modell im Bild nicht erkannt wird oder dass sehr niedrige Parameter für MinScore oder Greediness in find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel selektiert werden müssen, damit das Modell gefunden wird. Falls die Anzahl der Pyramidenstufen zu niedrig gewählt wird, kann es zu erhöhten Laufzeiten in find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel kommen. In diesen Fällen sollte die Anzahl der Pyramidenstufen mit Hilfe der Ausgabe von inspect_shape_modelinspect_shape_modelInspectShapeModelinspect_shape_modelInspectShapeModelInspectShapeModel gewählt werden.

Winkel- und Skalierungs-Parameter:

Beachten Sie, dass die AngleStartAngleStartAngleStartAngleStartAngleStartangleStart, AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent, ScaleRMaxScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax, und ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax nicht von diesem Operator genutzt werden. Stattdessen müssen sie in dem Operator find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel spezifiziert werden. ScaleRMinScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin und ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin können relevant sein, wenn Matches erwartet werden, die kleiner sind als im Bild TemplateTemplateTemplateTemplateTemplatetemplate. Dann verringert sich eventuell die Anzahl der benutzten Pyramidenebenen, falls für NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels 'auto'"auto""auto""auto""auto""auto" übergeben wird.

Im Normalfall können die Parameter AngleStepAngleStepAngleStepAngleStepAngleStepangleStep, ScaleRStepScaleRStepScaleRStepScaleRStepScaleRStepscaleRStep und ScaleCStepScaleCStepScaleCStepScaleCStepScaleCStepscaleCStep automatisch bestimmt werden - die berechneten Winkel- und Skalierungsschrittweiten können mit get_deformable_model_paramsget_deformable_model_paramsGetDeformableModelParamsget_deformable_model_paramsGetDeformableModelParamsGetDeformableModelParams ausgegeben werden. Mehr Informationen dazu, wie sich diese Parameter auswirken, können in der Dokumentation von find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel gefunden werden.

Optimization:

Bei besonders großen Modellen kann es sinnvoll sein, die Anzahl der Modellpunkte durch Setzen des Parameters OptimizationOptimizationOptimizationOptimizationOptimizationoptimization auf einen Wert ungleich 'none'"none""none""none""none""none" zu setzen. Falls OptimizationOptimizationOptimizationOptimizationOptimizationoptimization = 'none'"none""none""none""none""none", werden alle Modellpunkte abgespeichert. Ansonsten wird die Anzahl der Punkte entsprechend dem Parameter OptimizationOptimizationOptimizationOptimizationOptimizationoptimization reduziert. Falls die Anzahl der Punkte reduziert wird, kann es bei find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel notwendig werden, den Parameter Greediness auf einen kleineren Wert, z.B. 0.7 oder 0.8, zu setzen. Bei kleineren Modellen bewirkt die Reduktion der Anzahl der Punkte keine Beschleunigung, da dadurch typischerweise wesentlich mehr potentielle Instanzen des Modells untersucht werden müssen. Falls für OptimizationOptimizationOptimizationOptimizationOptimizationoptimization 'auto'"auto""auto""auto""auto""auto" übergeben wird, wählt create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel die Reduktion der Punkte automatisch.

Contrast:

Der Parameter ContrastContrastContrastContrastContrastcontrast legt fest, welchen Grauwertkontrast die Punkte des Modells besitzen müssen. Der Kontrast ist ein Maß für die lokalen Grauwertdifferenzen zwischen dem Objekt und dem Hintergrund und zwischen verschiedenen Teilen des Objektes. ContrastContrastContrastContrastContrastcontrast sollte so gewählt werden, dass nur die signifikanten Merkmale des Musters für das Modell verwendet werden. ContrastContrastContrastContrastContrastcontrast kann auch ein Tupel mit zwei Werten enthalten. In diesem Fall wird bei der Segmentierung des Modells ein Verfahren eingesetzt, das ähnlich zum Hysterese-Schwellwert-Verfahren in edges_imageedges_imageEdgesImageedges_imageEdgesImageEdgesImage ist. Dabei ist der erste Wert des Tupels der untere Schwellwert und der zweite Wert der obere Schwellwert. Für weitere Informationen über das Hysterese-Schwellwert-Verfahren siehe hysteresis_thresholdhysteresis_thresholdHysteresisThresholdhysteresis_thresholdHysteresisThresholdHysteresisThreshold. Wird ContrastContrastContrastContrastContrastcontrast auf 'auto'"auto""auto""auto""auto""auto" gesetzt, dann bestimmt create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel die beschriebenen Werte automatisch. Daneben besteht die Möglichkeit, nur den Kontrast ('auto_contrast'"auto_contrast""auto_contrast""auto_contrast""auto_contrast""auto_contrast") oder die Hysterese-Schwellwerte ('auto_contrast_hyst'"auto_contrast_hyst""auto_contrast_hyst""auto_contrast_hyst""auto_contrast_hyst""auto_contrast_hyst") automatisch bestimmen zu lassen. Die übrigen, nicht automatisch zu bestimmenden Größen, können dann zusätzlich als Tupel übergeben werden. In bestimmten Fällen kann es vorkommen, dass die automatische Bestimmung der Kontrast-Schwellwerte nicht zum gewünschten Ergebnis führt. So ist eine manuelle Parameterwahl zu bevorzugen, wenn anwendungsbedingt bestimmte Modellkomponenten ausgeschlossen oder ins Modell integriert werden sollen oder wenn das Objekt mehrere unterschiedliche Kontraststufen umfasst. Daher ist es sinnvoll, die Kontrastwerte vor der Modellgenerierung mit determine_deformable_model_paramsdetermine_deformable_model_paramsDetermineDeformableModelParamsdetermine_deformable_model_paramsDetermineDeformableModelParamsDetermineDeformableModelParams automatisch zu ermitteln und das Ergebnis mit inspect_shape_modelinspect_shape_modelInspectShapeModelinspect_shape_modelInspectShapeModelInspectShapeModel zu überprüfen.

MinContrast:

Mit MinContrastMinContrastMinContrastMinContrastMinContrastminContrast wird festgelegt, welchen Grauwertkontrast im Bild das Modell später bei der Erkennung mit find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel mindestens besitzen muss. Mit anderen Worten stellt dieser Parameter eine Abgrenzung des Musters vom Rauschen im Bild dar. Ein guter Wert entspricht deshalb dem Bereich der Grauwertänderungen, die durch das Rauschen im Bild verursacht werden. Falls die Grauwerte z.B. in einem Bereich von 10 Graustufen durch Rauschen schwanken, sollte MinContrastMinContrastMinContrastMinContrastMinContrastminContrast auf 10 gesetzt werden. Offensichtlich muss MinContrastMinContrastMinContrastMinContrastMinContrastminContrast kleiner als ContrastContrastContrastContrastContrastcontrast sein. Falls das Modell später in sehr kontrastarmen Bildern erkannt werden soll, muss MinContrastMinContrastMinContrastMinContrastMinContrastminContrast entsprechend klein gewählt werden. Falls das Modell mit erheblichen Verdeckungen erkannt werden soll, sollte MinContrastMinContrastMinContrastMinContrastMinContrastminContrast etwas größer als der Grauwertbereich, der durch das Rauschen verursacht wird, gewählt werden, um eine robuste und genaue Lageschätzung des verdeckten Modells mit find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel zu gewährleisten.

Wird MinContrastMinContrastMinContrastMinContrastMinContrastminContrast auf 'auto'"auto""auto""auto""auto""auto" gesetzt, wählt create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel den Mindestkontrast basierend auf dem Rauschen im Modellbild automatisch. Eine automatische Bestimmung ergibt demzufolge nur Sinn, wenn das bei der Erkennung zu erwartende Bildrauschen dem Rauschen im Modellbild entspricht. Außerdem kann es in manchen Fällen sinnvoll sein, den automatisch ermittelten Wert zu erhöhen, um eine höhere Robustheit gegenüber Verdeckungen zu erzielen (siehe oben). Der automatisch bestimmte Mindestkontrast kann mit get_deformable_model_paramsget_deformable_model_paramsGetDeformableModelParamsget_deformable_model_paramsGetDeformableModelParamsGetDeformableModelParams abgefragt werden. Der MinContrastMinContrastMinContrastMinContrastMinContrastminContrast eines deformierbaren Modells kann später mit set_deformable_model_paramset_deformable_model_paramSetDeformableModelParamset_deformable_model_paramSetDeformableModelParamSetDeformableModelParam noch geändert werden.

Metric:

Der Parameter MetricMetricMetricMetricMetricmetric legt fest, unter welchen Bedingungen das Muster im Bild 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_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel erhöht sich in diesem Fall geringfügig.

Falls MetricMetricMetricMetricMetricmetric = 'ignore_part_polarity'"ignore_part_polarity""ignore_part_polarity""ignore_part_polarity""ignore_part_polarity""ignore_part_polarity" ausgewählt wird, dann darf sich die Kontrastpolarität nur zwischen verschiedenen Modellteilen ändern, wohingegen die Polarität von Modellpunkten innerhalb desselben Modellteils nicht wechseln darf. Zu beachten ist, dass der Begriff 'ignore_part_polarity'"ignore_part_polarity""ignore_part_polarity""ignore_part_polarity""ignore_part_polarity""ignore_part_polarity" missverstanden werden kann. Er bedeutet, dass Polaritätswechsel zwischen benachbarten Modellteilen den Score nicht beeinflussen und daher ignoriert werden.

Falls MetricMetricMetricMetricMetricmetric = 'ignore_local_polarity'"ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity", wird das Modell auch dann gefunden, wenn sich die Kontrastverhältnisse lokal ändern. Dieser Modus kann z.B. dann sinnvoll sein, wenn das Objekt aus einem Teil mittleren Grauwerts besteht, auf dem entweder dunkle oder helle Unterobjekte liegen können. In diesem Fall erhöht sich die Laufzeit von find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel aber wesentlich. Die obigen vier Metriken können nur auf einkanalige Bilder angewendet werden. Falls im Modellbild oder in den Suchbildern ein mehrkanaliges Bild übergeben wird, wird stillschweigend nur der erste Kanal des Bildes verwendet. Im Falle von MetricMetricMetricMetricMetricmetric = 'ignore_color_polarity'"ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity" wird das Modell auch dann gefunden, wenn sich die Farbkontraste lokal ändern. Dies ist z.B. der Fall, wenn Teile des Objektes ihre Farbe ändern können, z.B. von rot auf grün. Dieser Modus ist insbesondere dann sinnvoll, wenn nicht vorab bekannt ist, in welchen Kanälen das Objekt zu erkennen ist. Auch hier kann sich die Laufzeit von find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel erheblich erhöhen. Die Metrik 'ignore_color_polarity'"ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity" kann auf Bilder mit einer beliebigen Anzahl von Kanälen angewendet werden. Falls sie mit einkanaligen Bildern verwendet wird, hat sie dieselbe Wirkung wie 'ignore_local_polarity'"ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity". Es ist zu beachten, dass für MetricMetricMetricMetricMetricmetric = 'ignore_color_polarity'"ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity" die Anzahl der Kanäle bei der Modellgenerierung mit create_planar_uncalib_deformable_modelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelcreate_planar_uncalib_deformable_modelCreatePlanarUncalibDeformableModelCreatePlanarUncalibDeformableModel und bei der Suche mit find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel verschieden sein können. Dies erlaubt z.B. die Modellgenerierung aus einem einkanaligen synthetisch generierten Bild. Es ist auch zu beachten, dass die Kanäle nicht einer spektralen Unterteilung des Lichtes (wie z.B. bei einem RGB-Bild) entsprechen müssen. Die Kanäle können z.B. auch durch Beleuchtung des Objektes aus unterschiedlichen Richtungen entstanden sein.

GenParamName, GenParamValue:

Mit Hilfe der generischen Parameter GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue kann der Benutzer Parameter eines deformierbaren Modells setzen, die nur in seltenen Fällen benötigt werden. Zur Zeit wird es dazu verwendet, die durchschnittliche Größe der Teile aus denen ein deformierbares Modell besteht zu setzen. Hierfür sollte GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName auf 'part_size' und GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue auf 'small', 'medium' oder 'big' gesetzt werden. Für Objekte, die aus vielen kleinen Teilen bestehen, sollte 'small' ausgewählt werden. Für Objekte, die aus großen Konturen bestehen, sollte 'big' gesetzt werden.

Optional kann GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName = 'min_size'"min_size""min_size""min_size""min_size""min_size" gesetzt werden. Dieser Wert dient zur Selektion von signifikanten Komponenten des Modells basierend auf der Größe der Komponenten, d.h. Komponenten, deren Anzahl von Punkten kleiner ist als diese Mindestgröße, welche im entsprechenden GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue gesetzt wird, werden unterdrückt. Dieser Schwellwert wird pro Pyramidenstufe halbiert.

Parallelisierung

Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.

Parameter

TemplateTemplateTemplateTemplateTemplatetemplate (input_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte / uint2)

Eingabebild, dessen Definitionsbereich zum Aufbau des Modells verwendet wird.

NumLevelsNumLevelsNumLevelsNumLevelsNumLevelsnumLevels (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*) (Hlong / BSTR) (Hlong / char*)

Maximale Anzahl von Pyramidenebenen.

Defaultwert: 'auto' "auto" "auto" "auto" "auto" "auto"

Werteliste: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'auto'"auto""auto""auto""auto""auto"

AngleStartAngleStartAngleStartAngleStartAngleStartangleStart (input_control)  angle.rad-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Dieser Parameter wird nicht benutzt.

Defaultwert: []

AngleExtentAngleExtentAngleExtentAngleExtentAngleExtentangleExtent (input_control)  angle.rad-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Dieser Parameter wird nicht benutzt.

Defaultwert: []

AngleStepAngleStepAngleStepAngleStepAngleStepangleStep (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real / string) (double / string) (double / HString) (double / char*) (double / BSTR) (double / char*)

Schrittweite der Winkel (Auflösung).

Defaultwert: 'auto' "auto" "auto" "auto" "auto" "auto"

Wertevorschläge: 'auto'"auto""auto""auto""auto""auto", 0.0175, 0.0349, 0.0524, 0.0698, 0.0873

ScaleRMinScaleRMinScaleRMinScaleRMinScaleRMinscaleRMin (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Kleinste auftretende Skalierung des Musters in Zeilenrichtung.

Defaultwert: 1.0

Wertevorschläge: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Restriktion: ScaleRMin > 0

ScaleRMaxScaleRMaxScaleRMaxScaleRMaxScaleRMaxscaleRMax (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Dieser Parameter wird nicht benutzt.

Defaultwert: []

ScaleRStepScaleRStepScaleRStepScaleRStepScaleRStepscaleRStep (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / string) (double / string) (double / HString) (double / char*) (double / BSTR) (double / char*)

Schrittweite der Skalierung (Auflösung) in Zeilenrichtung.

Defaultwert: 'auto' "auto" "auto" "auto" "auto" "auto"

Wertevorschläge: 'auto'"auto""auto""auto""auto""auto", 0.01, 0.02, 0.05, 0.1, 0.15, 0.2

Restriktion: ScaleRStep >= 0

ScaleCMinScaleCMinScaleCMinScaleCMinScaleCMinscaleCMin (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Kleinste auftretende Skalierung des Musters in Spaltenrichtung.

Defaultwert: 1.0

Wertevorschläge: 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Restriktion: ScaleCMin > 0

ScaleCMaxScaleCMaxScaleCMaxScaleCMaxScaleCMaxscaleCMax (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Dieser Parameter wird nicht benutzt.

Defaultwert: []

ScaleCStepScaleCStepScaleCStepScaleCStepScaleCStepscaleCStep (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / string) (double / string) (double / HString) (double / char*) (double / BSTR) (double / char*)

Schrittweite der Skalierung (Auflösung) in Spaltenrichtung.

Defaultwert: 'auto' "auto" "auto" "auto" "auto" "auto"

Wertevorschläge: 'auto'"auto""auto""auto""auto""auto", 0.01, 0.02, 0.05, 0.1, 0.15, 0.2

Restriktion: ScaleCStep >= 0

OptimizationOptimizationOptimizationOptimizationOptimizationoptimization (input_control)  string(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Art der Optimierung der Modellgenerierung.

Defaultwert: 'none' "none" "none" "none" "none" "none"

Werteliste: 'auto'"auto""auto""auto""auto""auto", 'none'"none""none""none""none""none", 'point_reduction_high'"point_reduction_high""point_reduction_high""point_reduction_high""point_reduction_high""point_reduction_high", 'point_reduction_low'"point_reduction_low""point_reduction_low""point_reduction_low""point_reduction_low""point_reduction_low", 'point_reduction_medium'"point_reduction_medium""point_reduction_medium""point_reduction_medium""point_reduction_medium""point_reduction_medium"

MetricMetricMetricMetricMetricmetric (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Art der zum Matchen verwendeten Metrik.

Defaultwert: 'use_polarity' "use_polarity" "use_polarity" "use_polarity" "use_polarity" "use_polarity"

Werteliste: 'ignore_color_polarity'"ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity", 'ignore_global_polarity'"ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity", 'ignore_local_polarity'"ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity", 'ignore_part_polarity'"ignore_part_polarity""ignore_part_polarity""ignore_part_polarity""ignore_part_polarity""ignore_part_polarity", 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity""use_polarity"

ContrastContrastContrastContrastContrastcontrast (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*) (Hlong / BSTR) (Hlong / char*)

Schwellwerte bzw. Hystereseschwellwerte für den Kontrast des Objektes im Musterbild.

Defaultwert: 'auto' "auto" "auto" "auto" "auto" "auto"

Wertevorschläge: 'auto'"auto""auto""auto""auto""auto", 10, 20, 30, 40, 60, 80, 100, 120, 140, 160

MinContrastMinContrastMinContrastMinContrastMinContrastminContrast (input_control)  number HTupleHTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*) (Hlong / BSTR) (Hlong / char*)

Minimaler Kontrast des Objektes in den Suchbildern.

Defaultwert: 'auto' "auto" "auto" "auto" "auto" "auto"

Wertevorschläge: 'auto'"auto""auto""auto""auto""auto", 1, 2, 3, 5, 7, 10, 20, 30, 40

Restriktion: MinContrast < Contrast

GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der Parameter.

Defaultwert: []

Werteliste: [], 'min_size'"min_size""min_size""min_size""min_size""min_size", 'part_size'"part_size""part_size""part_size""part_size""part_size"

GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  integer-array HTupleHTupleHTupleVARIANTHtuple (integer / real / string) (int / long / double / string) (Hlong / double / HString) (Hlong / double / char*) (Hlong / double / BSTR) (Hlong / double / char*)

Werte der Parameter.

Defaultwert: []

Werteliste: [], 'big'"big""big""big""big""big", 'medium'"medium""medium""medium""medium""medium", 'small'"small""small""small""small""small"

ModelIDModelIDModelIDModelIDModelIDmodelID (output_control)  deformable_model HDeformableModel, HTupleHTupleHDeformableModel, HTupleHDeformableModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Modells.

Ergebnis

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

Vorgänger

determine_deformable_model_paramsdetermine_deformable_model_paramsDetermineDeformableModelParamsdetermine_deformable_model_paramsDetermineDeformableModelParamsDetermineDeformableModelParams

Nachfolger

set_deformable_model_originset_deformable_model_originSetDeformableModelOriginset_deformable_model_originSetDeformableModelOriginSetDeformableModelOrigin, set_deformable_model_paramset_deformable_model_paramSetDeformableModelParamset_deformable_model_paramSetDeformableModelParamSetDeformableModelParam, get_deformable_model_contoursget_deformable_model_contoursGetDeformableModelContoursget_deformable_model_contoursGetDeformableModelContoursGetDeformableModelContours, find_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelfind_planar_uncalib_deformable_modelFindPlanarUncalibDeformableModelFindPlanarUncalibDeformableModel, get_deformable_model_paramsget_deformable_model_paramsGetDeformableModelParamsget_deformable_model_paramsGetDeformableModelParamsGetDeformableModelParams, write_deformable_modelwrite_deformable_modelWriteDeformableModelwrite_deformable_modelWriteDeformableModelWriteDeformableModel, clear_deformable_modelclear_deformable_modelClearDeformableModelclear_deformable_modelClearDeformableModelClearDeformableModel

Alternativen

read_deformable_modelread_deformable_modelReadDeformableModelread_deformable_modelReadDeformableModelReadDeformableModel

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren