derivate_gauss
— Ableitungen der Gaußfunktion.
derivate_gauss(Image : DerivGauss : Sigma, Component : )
derivate_gauss
berechnet verschiedene Ableitungen der
Gaußfunktion und daraus abgeleiteter Größen. Dabei ist
Sigma
der Parameter der Gaußfunktion (d.h. die
Glättung). Falls in Sigma
ein Wert angegeben wird, ist
die Glättung in Spalten- und Zeilenrichtung gleich. Falls zwei
Werte in Sigma
übergeben werden, wird mit dem ersten Wert
die Glättung in Spaltenrichtung und mit dem zweiten Wert die
Glättung in Zeilenrichtung festgelegt. Mögliche Werte für
Component
sind:
Nur Glättung.
1. Ableitung nach x.
1. Ableitung nach y.
Betrag des Gradienten.
Richtung des Gradienten im Bogenmaß.
2. Ableitung nach x.
2. Ableitung nach y.
Ableitung nach x und y.
3. Ableitung nach x.
3. Ableitung nach y.
Ableitung nach x, x und y.
Ableitung nach x, y und y.
Determinante der Hessematrix:
Laplace-Operator (Spur der Hessematrix)
Mittlere Krümmung H
Gaußkrümmung K
Differentielle Fläche A
Erster Eigenwert
Zweiter Eigenwert
Richtung des zum ersten Eigenwert gehörigen Eigenvektors im Bogenmaß
Erste Hauptkrümmung
Zweite Hauptkrümmung
2. Ableitung in Richtung senkrecht zum Gradienten
Normierte 2. Ableitung in Richtung senkrecht zum Gradienten
2. Ableitung in Richtung des Gradienten
2. Ableitung in Richtung des Gradienten und senkrecht dazu
derivate_gauss
wird durch SSE2 Instruktionen beschleunigt, falls
der Systemparameter 'sse2_enable' auf 'true' gesetzt ist
(dies ist Standard, sofern SSE2 auf Ihrem Rechner verfügbar ist). Diese
Implementierung ist aufgrund numerischer Probleme im Vergleich zur reinen
C Version etwas ungenauer (für 'byte' Bilder und 'none' ,
'x' oder 'y' als Component
bewegt sich der
Unterschied in einer Größenordnung von 1.0e-5). Falls für Ihre Anwendung
Genauigkeit wichtiger ist als Geschwindigkeit können Sie
'sse2_enable' auf 'false' setzen, bevor Sie
derivate_gauss
aufrufen. Dadurch verwendet derivate_gauss
keine SSE2 Beschleunigungen. Vergessen Sie nicht 'sse2_enable'
danach wieder auf 'true' zu setzen.
derivate_gauss
wird nur dann auf einem OpenCL Device ausgeführt
wenn Sigma
eine Filterbreite bzw. Filterhöhe bis zu 129
impliziert. Das entspricht einem Sigma
von weniger als 20.7
für Component
= 'none' . Außerdem ist die OpenCL
Implementierung wie die SSE2 Implementierung aufgrund numerischer Probleme
etwas ungenauer als die reine C Version.
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.
Image
(input_object) (multichannel-)image(-array) →
object (byte* / direction* / cyclic* / int1* / int2* / uint2* / int4* / real*) *erlaubt für Compute Devices
Eingabebilder.
DerivGauss
(output_object) (multichannel-)image(-array) →
object (real)
Gefilterte Bilder.
Sigma
(input_control) real(-array) →
(real)
Sigma der Gaußfunktion.
Defaultwert: 1.0
Wertevorschläge: 0.7, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0
Typischer Wertebereich: 0.2
≤
Sigma
≤
50.0
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: 0.01 <= Sigma <= 50.0
Component
(input_control) string →
(string)
Zu berechnende Ableitung oder Merkmal.
Defaultwert: 'x'
Werteliste: '2nd_ddg' , 'area' , 'de_saint_venant' , 'det' , 'eigenvalue1' , 'eigenvalue2' , 'eigenvec_dir' , 'gauss_curvature' , 'gradient' , 'gradient_dir' , 'kitchen_rosenfeld' , 'laplace' , 'main1_curvature' , 'main2_curvature' , 'mean_curvature' , 'none' , 'x' , 'xx' , 'xxx' , 'xxy' , 'xy' , 'xyy' , 'y' , 'yy' , 'yyy' , 'zuniga_haralick'
Werteliste (für Compute Devices): 'none' , 'x' , 'y' , 'gradient' , 'gradient_dir' , 'xx' , 'yy' , 'xy' , 'xxx' , 'yyy' , 'xxy' , 'xyy' , 'laplace'
read_image(&Image,"mreut"); derivate_gauss(Image,&Gauss,3.0,"x"); zero_crossing(Gauss,&ZeroCrossings);
laplace
,
laplace_of_gauss
,
binomial_filter
,
gauss_filter
,
smooth_image
,
isotropic_diffusion
Foundation