Es lassen sich Objektkanten finden, wobei die Größe (Durchmesser)
der gesuchten Objekte durch die Maskengröße des Tiefpassfilters
und die Steigung, bzw. Amplitude der Kante festgelegt wird.
Je größer der Maskendurchmesser gewählt wird, desto größer sind
die gefundenen Regionen. Als Faustregel sollte die Maskengröße
etwa doppelt so groß wie der Durchmesser der gesuchten Objekte
sein. Es ist wichtig, den Parameter OffsetOffsetOffsetOffsetoffset nicht auf
Null zu setzen, da dann zu viele kleine Regionen gefunden werden
(Rauschen). Sinnvoll sind Werte, die betragsmäßig zwischen 5 und
40 liegen. Je größer OffsetOffsetOffsetOffsetoffset gewählt wird, desto
weniger Punkte werden gefunden und umso kleiner werden die
Regionen.
Alle Punkte eines Eingabebildes, die die obige Bedingung erfüllen,
werden gemeinsam als eine Region abgespeichert. Die
Zusammenhangskomponenten können gegebenenfalls mit
connectionconnectionConnectionConnectionConnection berechnet werden.
Achtung
Wird OffsetOffsetOffsetOffsetoffset auf -1 .. 1 gesetzt, dann
wird i.a. eine sehr verrauschte Region erzeugt, die viel
Speicherplatz benötigt. Wird OffsetOffsetOffsetOffsetoffset zu groß gewählt
(etwa > 60), dann kann es vorkommen, dass kein Punkt die
Schwellenwertbedingung erfüllt (also eine leere Region berechnet
wird). Wird OffsetOffsetOffsetOffsetoffset zu klein gewählt (etwa < -60) dann
können alle Punkte die Schwellenwertbedingung erfüllen. Es wird
also eine maximale Region erzeugt.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
* Looking for regions with the diameter D
mean_image(Image,Mean,D*2+1,D*2+1)
dyn_threshold(Image,Mean,Seg,5,'light')
connection(Seg,Regions)
Beispiel (C)
/* Looking for regions with the diameter D */
mean_image(Image,&Mean,D*2+1,D*2+1);
dyn_threshold(Image,Mean,&Seg,5.0,"light");
connection(Seg,&Region);
Beispiel (HDevelop)
* Looking for regions with the diameter D
mean_image(Image,Mean,D*2+1,D*2+1)
dyn_threshold(Image,Mean,Seg,5,'light')
connection(Seg,Regions)
Beispiel (HDevelop)
* Looking for regions with the diameter D
mean_image(Image,Mean,D*2+1,D*2+1)
dyn_threshold(Image,Mean,Seg,5,'light')
connection(Seg,Regions)
Beispiel (HDevelop)
* Looking for regions with the diameter D
mean_image(Image,Mean,D*2+1,D*2+1)
dyn_threshold(Image,Mean,Seg,5,'light')
connection(Seg,Regions)
Komplexität
Sei A die Fläche der Eingaberegion, dann ist die
Laufzeitkomplexität O(A)
Ergebnis
dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThreshold liefert den Wert 2 (H_MSG_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",
'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"
einstellbar (siehe set_systemset_systemSetSystemSetSystemSetSystem). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.