info_edges
— Abfragen der Filterkoeffizienten der Filter aus edges_image
.
info_edges
liefert die Filterkoeffizienten Coeffs
und
eine Abschätzung des Einzugsgebiets Size
der in der Routine
edges_image
verwendeten Filter.
Dazu werden die zugrundeliegenden kontinuierlichen Impulsantworten der
Filter abgetastet, bis ein Filterkoeffizient kleiner als fünf
Prozent des Maximalkoeffizienten ist. Alpha
ist der
Filterparameter (siehe edges_image
). Es werden sieben
Kantenoperatoren unterstützt (Parameter Filter
):
'deriche1', 'lanser1', 'deriche2', 'lanser2', 'shen', 'mshen' und 'canny'.
Über den Parameter Mode
('edge'/'smooth') wird
festgelegt, ob der entsprechende Kanten- oder Glättungsfilter
gemeint ist.
Der Canny-Operator (der sich auf die Gaußfunktion
abstützt) wurde dabei konventionell mittels Filtermasken
implementiert. Im Falle der Canny-Filter werden daher
die Filterkoeffizienten der eindimensionalen Impulsantworten in Coeffs
zurückgeliefert. Alle anderen Filter
sind rekursiv implementiert.
Hierbei werden die Koeffizienten Coeffs
einer entsprechenden
nicht-rekursiven Implementierung des Filters zurückgegeben.
Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.
Filter
(input_control) string →
(string)
Name des Kanten-Operators.
Defaultwert: 'lanser2'
Werteliste: 'canny' , 'deriche1' , 'deriche2' , 'lanser1' , 'lanser2' , 'mshen' , 'shen'
Mode
(input_control) string →
(string)
1D-Kantenfilter ('edge') oder 1D-Glättungsfilter ('smooth').
Defaultwert: 'edge'
Werteliste: 'edge' , 'smooth'
Alpha
(input_control) real →
(real)
Filterparameter: kleine Werte bewirken starke Glättung, also auch weniger Bilddetails (bei canny umgekehrt).
Defaultwert: 0.5
Typischer Wertebereich: 0.2
≤
Alpha
≤
50.0
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: Alpha > 0.0
Size
(output_control) integer →
(integer)
Größe des Einzugsgebietes des Filters in Pixeln.
Coeffs
(output_control) integer-array →
(integer)
Falls Cannyfilter: Koeffizienten der „positiven“ Hälfte der 1D-Impulsantwort. Alle anderen: Koeffizienten einer entsprechenden nicht-rekursiven Implementierung des Filters.
read_image(Image,'fabrik') info_edges('lanser2','edge',0.5,Size,Coeffs) edges_image(Image,Amp,Dir,'lanser2',0.5,'none',-1,-1) hysteresis_threshold(Amp,Margin,20,30,30)
Sind die Parameterwerte korrekt, dann liefert info_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
,
threshold
,
skeleton
Foundation