| Operatoren |
close_edges — Schließen von Kanten gemäß Amplitudenbild.
close_edges(Edges, EdgeImage : RegionResult : MinAmplitude : )
close_edges schließt die von einem Kantendetektor gelieferten Kanten zu Konturen. Dabei wird iterativ von jedem Kantenpunkt aus nach den beiden Nachbarpunkten mit stärkster Amplitude (i.e. größtem Gradienten) gesucht und diese beiden Punkte zur Kantenregion hinzugenommen, falls ihre Amplituden größer oder gleich der übergebenen Mindestamplitude sind. Als Eingabe erwartet die Routine also neben den Kanten (Edges) auch ein Amplitudenbild (EdgeImage), wie es beispielsweise die Routinen edges_image oder sobel_amp als Ergebnis liefern. Nicht berücksichtigt wird hingegen die Richtung der Konturen. Sie können daher in Gebieten mit Plateaus im Amplitudenbild zu „schwingen“ beginnen.
Region mit ein Pixel breiten Kanten.
Kanten-Amplitudenbild.
Ausgaberegionen (geschlossene Kanten).
Mindestamplitude für Kanten.
Defaultwert: 16
Wertevorschläge: 5, 8, 10, 12, 16, 20, 25, 30, 40, 50
Typischer Wertebereich: 1 ≤ MinAmplitude ≤ 255
Minimale Schrittweite: 1
Empfohlene Schrittweite: 1
Restriktion: MinAmplitude >= 0
sobel_amp(Image,&EdgeAmp,"sum_abs",5); threshold(EdgeAmp,&EdgeRegion,40.0,255.0); skeleton(EdgeRegion,&ThinEdge); close_edges(ThinEdge,EdgeAmp,&CloseEdges,15); skeleton(CloseEdges,&ThinCloseEdges);
Sind die Parameterwerte korrekt, dann liefert close_edges den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels set_system('no_object_result',<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
edges_image, sobel_amp, threshold, skeleton
close_edges_length, dilation1, closing
Foundation
| Operatoren |