inspect_shape_modelinspect_shape_modelInspectShapeModelInspectShapeModelinspect_shape_model (Operator)

Name

inspect_shape_modelinspect_shape_modelInspectShapeModelInspectShapeModelinspect_shape_model — Repräsentation eines Formmodells.

Signatur

inspect_shape_model(Image : ModelImages, ModelRegions : NumLevels, Contrast : )

Herror inspect_shape_model(const Hobject Image, Hobject* ModelImages, Hobject* ModelRegions, const Hlong NumLevels, const Hlong Contrast)

Herror T_inspect_shape_model(const Hobject Image, Hobject* ModelImages, Hobject* ModelRegions, const Htuple NumLevels, const Htuple Contrast)

void InspectShapeModel(const HObject& Image, HObject* ModelImages, HObject* ModelRegions, const HTuple& NumLevels, const HTuple& Contrast)

HImage HImage::InspectShapeModel(HRegion* ModelRegions, Hlong NumLevels, const HTuple& Contrast) const

HImage HImage::InspectShapeModel(HRegion* ModelRegions, Hlong NumLevels, Hlong Contrast) const

static void HOperatorSet.InspectShapeModel(HObject image, out HObject modelImages, out HObject modelRegions, HTuple numLevels, HTuple contrast)

HImage HImage.InspectShapeModel(out HRegion modelRegions, int numLevels, HTuple contrast)

HImage HImage.InspectShapeModel(out HRegion modelRegions, int numLevels, int contrast)

def inspect_shape_model(image: HObject, num_levels: int, contrast: MaybeSequence[int]) -> Tuple[HObject, HObject]

Beschreibung

inspect_shape_modelinspect_shape_modelInspectShapeModelInspectShapeModelinspect_shape_model erzeugt eine Repräsentation eines Formmodells. Der Operator ist insbesondere dazu nützlich, um die Parameter NumLevelsNumLevelsNumLevelsnumLevelsnum_levels und ContrastContrastContrastcontrastcontrast, die bei create_shape_modelcreate_shape_modelCreateShapeModelCreateShapeModelcreate_shape_model, create_scaled_shape_modelcreate_scaled_shape_modelCreateScaledShapeModelCreateScaledShapeModelcreate_scaled_shape_model oder create_aniso_shape_modelcreate_aniso_shape_modelCreateAnisoShapeModelCreateAnisoShapeModelcreate_aniso_shape_model verwendet werden, einfach und schnell zu bestimmen. Die Repräsentation des Modells wird auf mehreren Pyramidenebenen generiert, wobei die Anzahl der Pyramidenebenen durch NumLevelsNumLevelsNumLevelsnumLevelsnum_levels bestimmt wird. Im Gegensatz zu create_shape_modelcreate_shape_modelCreateShapeModelCreateShapeModelcreate_shape_model, create_scaled_shape_modelcreate_scaled_shape_modelCreateScaledShapeModelCreateScaledShapeModelcreate_scaled_shape_model und create_aniso_shape_modelcreate_aniso_shape_modelCreateAnisoShapeModelCreateAnisoShapeModelcreate_aniso_shape_model wird das Modell nur in der im Eingabebild ImageImageImageimageimage vorliegenden Rotation und Skalierung, also 0° und 1, erzeugt. Als Ausgabe erzeugt inspect_shape_modelinspect_shape_modelInspectShapeModelInspectShapeModelinspect_shape_model ein Bildobjekt ModelImagesModelImagesModelImagesmodelImagesmodel_images mit den Bildern der einzelnen Pyramidenstufen, sowie eine Region in ModelRegionsModelRegionsModelRegionsmodelRegionsmodel_regions für jede Pyramidenstufe, die das Modell auf dieser Pyramidenstufe repräsentiert. Auf die einzelnen Objekte der jeweiligen Pyramidenstufe kann mit select_objselect_objSelectObjSelectObjselect_obj zugegriffen werden. Falls das Eingabebild ImageImageImageimageimage einen Kanal besitzt, wird zur Berechnung der Repräsentation des Modells das Verfahren verwendet, das auch bei create_shape_modelcreate_shape_modelCreateShapeModelCreateShapeModelcreate_shape_model, create_scaled_shape_modelcreate_scaled_shape_modelCreateScaledShapeModelCreateScaledShapeModelcreate_scaled_shape_model oder create_aniso_shape_modelcreate_aniso_shape_modelCreateAnisoShapeModelCreateAnisoShapeModelcreate_aniso_shape_model für die Metriken 'use_polarity'"use_polarity""use_polarity""use_polarity""use_polarity", 'ignore_global_polarity'"ignore_global_polarity""ignore_global_polarity""ignore_global_polarity""ignore_global_polarity" und 'ignore_local_polarity'"ignore_local_polarity""ignore_local_polarity""ignore_local_polarity""ignore_local_polarity" verwendet wird. Falls das Eingabebild mehr als einen Kanal besitzt, wird das Verfahren verwendet, das für die Metrik 'ignore_color_polarity'"ignore_color_polarity""ignore_color_polarity""ignore_color_polarity""ignore_color_polarity" verwendet wird. Wie bei create_shape_modelcreate_shape_modelCreateShapeModelCreateShapeModelcreate_shape_model, create_scaled_shape_modelcreate_scaled_shape_modelCreateScaledShapeModelCreateScaledShapeModelcreate_scaled_shape_model oder create_aniso_shape_modelcreate_aniso_shape_modelCreateAnisoShapeModelCreateAnisoShapeModelcreate_aniso_shape_model beschrieben, sollten die Anzahl der Pyramidenebenen möglichst groß gewählt werden, wobei darauf zu achten ist, dass das Modell auf der obersten Pyramidenstufe noch erkennbar ist und genügend viele Punkte besitzt. Der Parameter ContrastContrastContrastcontrastcontrast sollte so gewählt werden, dass nur die signifikanten Merkmale des Musters für das Modell verwendet werden. ContrastContrastContrastcontrastcontrast kann auch ein Tupel mit zwei Werten enthalten. In diesem Fall wird bei der Segmentierung des Modells ein Verfahren, das ähnlich zum Hysterese-Schwellenwert-Verfahren in edges_imageedges_imageEdgesImageEdgesImageedges_image ist, eingesetzt. Dabei ist der erste Wert des Tupels der untere Schwellenwert und der zweite Wert der obere Schwellenwert. Für weitere Informationen über das Hysterese-Schwellenwert-Verfahren siehe hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold. Optional kann in ContrastContrastContrastcontrastcontrast auch ein dritter Wert als letztes Element des Tupels übergeben 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, werden unterdrückt. Da sich die Mindestgröße auf die Größe der Komponenten bezieht kann es auch vorkommen, dass die daraus abgeleiteten Modellkonturen trotzdem kleiner als die angegebene Mindestgröße sind. Dieser Schwellenwert wird pro Pyramidenstufe halbiert. Falls eine Unterdrückung von kleinen Modellkomponenten gewünscht ist, aber keine Hysterese-Schwellenwert-Operation, müssen dennoch drei Werte in ContrastContrastContrastcontrastcontrast übergeben werden, von denen die ersten zwei auf denselben Wert gesetzt werden. In der normalen Verwendung wird inspect_shape_modelinspect_shape_modelInspectShapeModelInspectShapeModelinspect_shape_model mehrmals interaktiv mit unterschiedlichen Werten für NumLevelsNumLevelsNumLevelsnumLevelsnum_levels und ContrastContrastContrastcontrastcontrast aufgerufen, bis ein zufriedenstellendes Modell entsteht. Hierauf werden create_shape_modelcreate_shape_modelCreateShapeModelCreateShapeModelcreate_shape_model, create_scaled_shape_modelcreate_scaled_shape_modelCreateScaledShapeModelCreateScaledShapeModelcreate_scaled_shape_model oder create_aniso_shape_modelcreate_aniso_shape_modelCreateAnisoShapeModelCreateAnisoShapeModelcreate_aniso_shape_model mit den so bestimmten Parametern aufgerufen.

Ausführungsinformationen

Parameter

ImageImageImageimageimage (input_object)  (multichannel-)image objectHImageHObjectHObjectHobject (byte / uint2)

Eingabebild.

ModelImagesModelImagesModelImagesmodelImagesmodel_images (output_object)  (multichannel-)image-array objectHImageHObjectHObjectHobject * (byte / uint2)

Bildpyramide des Eingabebildes.

ModelRegionsModelRegionsModelRegionsmodelRegionsmodel_regions (output_object)  region-array objectHRegionHObjectHObjectHobject *

Model-Regionen-Pyramide.

NumLevelsNumLevelsNumLevelsnumLevelsnum_levels (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl von Pyramidenebenen.

Default: 4

Werteliste: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

ContrastContrastContrastcontrastcontrast (input_control)  number(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Schwellenwert bzw. Hystereseschwellenwerte für den Kontrast des Objektes im Bild und optional Mindestgröße der Objektteile.

Default: 30

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

Ergebnis

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

Vorgänger

reduce_domainreduce_domainReduceDomainReduceDomainreduce_domain

Nachfolger

select_objselect_objSelectObjSelectObjselect_obj

Siehe auch

set_generic_shape_model_paramset_generic_shape_model_paramSetGenericShapeModelParamSetGenericShapeModelParamset_generic_shape_model_param

Modul

Foundation