hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold (Operator)

Name

hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold — Segmentieren von Bildern mittels Hysterese-Schwellenwertoperation.

Signatur

hysteresis_threshold(Image : RegionHysteresis : Low, High, MaxLength : )

Herror hysteresis_threshold(const Hobject Image, Hobject* RegionHysteresis, const Hlong Low, const Hlong High, const Hlong MaxLength)

Herror T_hysteresis_threshold(const Hobject Image, Hobject* RegionHysteresis, const Htuple Low, const Htuple High, const Htuple MaxLength)

void HysteresisThreshold(const HObject& Image, HObject* RegionHysteresis, const HTuple& Low, const HTuple& High, const HTuple& MaxLength)

HRegion HImage::HysteresisThreshold(const HTuple& Low, const HTuple& High, Hlong MaxLength) const

HRegion HImage::HysteresisThreshold(Hlong Low, Hlong High, Hlong MaxLength) const

static void HOperatorSet.HysteresisThreshold(HObject image, out HObject regionHysteresis, HTuple low, HTuple high, HTuple maxLength)

HRegion HImage.HysteresisThreshold(HTuple low, HTuple high, int maxLength)

HRegion HImage.HysteresisThreshold(int low, int high, int maxLength)

def hysteresis_threshold(image: HObject, low: Union[int, float], high: Union[int, float], max_length: int) -> HObject

Beschreibung

hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold führt eine Schwellenwertoperation mit Hysterese (nach Canny) durch. Dabei werden alle Punkte im Eingabebild ImageImageImageImageimageimage größer oder gleich der oberen Schwelle HighHighHighHighhighhigh sofort in die Ausgaberegion(en) übernommen („sichere“ Punkte). Umgekehrt werden alle Punkte mit Grauwerten echt kleiner als die untere Schwelle LowLowLowLowlowlow zurückgewiesen. „Potentielle“ Punkte mit Grauwerten zwischen den beiden Schwellen schließlich werden dann übernommen, wenn sie durch einen Pfad mit maximaler Länge MaxLengthMaxLengthMaxLengthMaxLengthmaxLengthmax_length von „potentiellen“ Punkten mit einem „sicheren“ Punkt verbunden sind. Die „sicheren“ Punkte strahlen also auf ihre Umgebung aus, sie „wirken nach“ (Hysterese).

Achtung

Bei Bildern vom Typ byte, uint2 oder int4 muss die untere Schwelle LowLowLowLowlowlow > 0 sein.

Ausführungsinformationen

Parameter

ImageImageImageImageimageimage (input_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject (byte / uint2 / int4 / real)

Eingabebild.

RegionHysteresisRegionHysteresisRegionHysteresisRegionHysteresisregionHysteresisregion_hysteresis (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

segmentierte Region.

LowLowLowLowlowlow (input_control)  number HTupleUnion[int, float]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Untere Schwelle für die Grauwerte.

Defaultwert: 30

Wertevorschläge: 5, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100

HighHighHighHighhighhigh (input_control)  number HTupleUnion[int, float]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Obere Schwelle für die Grauwerte.

Defaultwert: 60

Wertevorschläge: 5, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130

Restriktion: High >= Low

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

Maximale Länge eines Pfades „potentieller“ Punkte zu einem „sicheren“ Punkt hin.

Defaultwert: 10

Wertevorschläge: 1, 2, 3, 5, 7, 10, 12, 14, 17, 20, 25, 30, 35, 40, 50

Typischer Wertebereich: 1 ≤ MaxLength MaxLength MaxLength MaxLength maxLength max_length

Minimale Schrittweite: 1

Empfohlene Schrittweite: 5

Restriktion: MaxLength > 1

Ergebnis

hysteresis_thresholdhysteresis_thresholdHysteresisThresholdHysteresisThresholdHysteresisThresholdhysteresis_threshold liefert den Wert TRUE, falls die Parameter korrekt sind. Für das Verhalten bzgl. der Eingabebilder und Ausgaberegionen sind die Flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result""no_object_result", 'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result""empty_region_result" und 'store_empty_region'"store_empty_region""store_empty_region""store_empty_region""store_empty_region""store_empty_region" einstellbar (siehe set_systemset_systemSetSystemSetSystemSetSystemset_system). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Alternativen

dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold, thresholdthresholdThresholdThresholdThresholdthreshold, class_2dim_supclass_2dim_supClass2dimSupClass2dimSupClass2dimSupclass_2dim_sup, fast_thresholdfast_thresholdFastThresholdFastThresholdFastThresholdfast_threshold

Siehe auch

edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image, sobel_dirsobel_dirSobelDirSobelDirSobelDirsobel_dir, background_segbackground_segBackgroundSegBackgroundSegBackgroundSegbackground_seg

Literatur

J. Canny, „Finding Edges and Lines in Images“; Report, AI-TR-720, M.I.T. Artificial Intelligence Lab., Cambridge, MA, 1983.

Modul

Foundation