info_edges T_info_edges InfoEdges InfoEdges info_edges (Operator)
Name
info_edges T_info_edges InfoEdges InfoEdges info_edges — Abfragen der Filterkoeffizienten der Filter aus edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image .
Signatur
void InfoEdges (const HTuple& Filter , const HTuple& Mode , const HTuple& Alpha , HTuple* Size , HTuple* Coeffs )
static Hlong HMisc ::InfoEdges (const HString& Filter , const HString& Mode , double Alpha , HTuple* Coeffs )
static Hlong HMisc ::InfoEdges (const char* Filter , const char* Mode , double Alpha , HTuple* Coeffs )
static Hlong HMisc ::InfoEdges (const wchar_t* Filter , const wchar_t* Mode , double Alpha , HTuple* Coeffs )
(Nur Windows)
def info_edges (filter : str, mode : str, alpha : float) -> Tuple[int, Sequence[int]]
Beschreibung
info_edges info_edges InfoEdges InfoEdges InfoEdges info_edges liefert die Filterkoeffizienten Coeffs Coeffs Coeffs Coeffs coeffs coeffs und
eine Abschätzung des Einzugsgebiets Size Size Size Size size size der in der Routine
edges_image edges_image EdgesImage EdgesImage EdgesImage 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 Alpha Alpha Alpha alpha alpha ist der
Filterparameter (siehe edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image ). Es werden sieben
Kantenoperatoren unterstützt (Parameter Filter Filter Filter Filter filter filter ):
'deriche1', 'lanser1', 'deriche2', 'lanser2',
'shen', 'mshen' und 'canny'.
Über den Parameter Mode Mode Mode Mode mode 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 Coeffs Coeffs Coeffs coeffs coeffs
zurückgeliefert. Alle anderen Filter Filter Filter Filter filter filter sind rekursiv implementiert.
Hierbei werden die Koeffizienten Coeffs Coeffs Coeffs Coeffs coeffs coeffs einer entsprechenden
nicht-rekursiven Implementierung des Filters zurückgegeben.
Achtung
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.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
Filter Filter Filter Filter filter filter (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Name des Kanten-Operators.
Defaultwert:
'lanser2'
"lanser2"
"lanser2"
"lanser2"
"lanser2"
"lanser2"
Werteliste: 'canny' "canny" "canny" "canny" "canny" "canny" , 'deriche1' "deriche1" "deriche1" "deriche1" "deriche1" "deriche1" , 'deriche2' "deriche2" "deriche2" "deriche2" "deriche2" "deriche2" , 'lanser1' "lanser1" "lanser1" "lanser1" "lanser1" "lanser1" , 'lanser2' "lanser2" "lanser2" "lanser2" "lanser2" "lanser2" , 'mshen' "mshen" "mshen" "mshen" "mshen" "mshen" , 'shen' "shen" "shen" "shen" "shen" "shen"
Mode Mode Mode Mode mode mode (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
1D-Kantenfilter ('edge') oder 1D-Glättungsfilter
('smooth').
Defaultwert:
'edge'
"edge"
"edge"
"edge"
"edge"
"edge"
Werteliste: 'edge' "edge" "edge" "edge" "edge" "edge" , 'smooth' "smooth" "smooth" "smooth" "smooth" "smooth"
Alpha Alpha Alpha Alpha alpha alpha (input_control) real → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Filterparameter: kleine Werte bewirken starke
Glättung, also auch weniger Bilddetails (bei
canny umgekehrt).
Defaultwert: 0.5
Typischer Wertebereich: 0.2
≤
Alpha
Alpha
Alpha
Alpha
alpha
alpha
≤
50.0
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: Alpha > 0.0
Size Size Size Size size size (output_control) integer → HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Größe des Einzugsgebietes des Filters in Pixeln.
Coeffs Coeffs Coeffs Coeffs coeffs coeffs (output_control) integer-array → HTuple Sequence[int] HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Falls Cannyfilter: Koeffizienten der „positiven“
Hälfte der 1D-Impulsantwort.
Alle anderen: Koeffizienten einer entsprechenden
nicht-rekursiven Implementierung des Filters.
Beispiel (HDevelop)
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)
Beispiel (C)
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);
Beispiel (HDevelop)
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)
Beispiel (HDevelop)
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)
Beispiel (HDevelop)
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)
Ergebnis
Sind die Parameterwerte korrekt, dann liefert info_edges info_edges InfoEdges InfoEdges InfoEdges info_edges
den Wert TRUE. Das Verhalten bei leerer Eingabe (keine
Eingabebilder vorhanden) lässt sich mittels
set_system('no_object_result',<Result>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) set_system("no_object_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Nachfolger
edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image ,
threshold threshold Threshold Threshold Threshold threshold ,
skeleton skeleton Skeleton Skeleton Skeleton skeleton
Siehe auch
edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image
Modul
Foundation