Name
info_edges T_info_edges InfoEdges info_edges InfoEdges InfoEdges — Abschätzung des Einzugsgebiets der Filter aus edges_image edges_image EdgesImage edges_image EdgesImage EdgesImage .
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 )
info_edges info_edges InfoEdges info_edges InfoEdges InfoEdges liefert eine Abschätzung des Einzugsgebiets
der in der Routine edges_image edges_image EdgesImage edges_image EdgesImage EdgesImage 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 edges_image EdgesImage EdgesImage ). 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 (die anderen verwenden rekursive Filter). Im Falle
der Canny-Filter werden daher zusätzlich zur Filtergröße auch
die Filterkoeffizienten der eindimensionalen Impulsantworten
in Coeffs Coeffs Coeffs Coeffs Coeffs coeffs
zurückgeliefert.
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
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"
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"
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
Größe des Einzugsgebietes des Filters in Pixeln.
Falls Cannyfilter: Koeffizienten der „positiven“
Hälfte der 1D-Impulsantwort.
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)
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);
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)
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)
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)
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 info_edges InfoEdges info_edges InfoEdges InfoEdges
den Wert 2 (H_MSG_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>) set_system("no_object_result",<Result>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
edges_image edges_image EdgesImage edges_image EdgesImage EdgesImage ,
threshold threshold Threshold threshold Threshold Threshold ,
skeleton skeleton Skeleton skeleton Skeleton Skeleton
edges_image edges_image EdgesImage edges_image EdgesImage EdgesImage
Foundation