Name
derivate_gaussderivate_gaussDerivateGaussderivate_gaussDerivateGaussDerivateGauss — Ableitungen der Gaußfunktion.
derivate_gaussderivate_gaussDerivateGaussderivate_gaussDerivateGaussDerivateGauss berechnet verschiedene Ableitungen der
Gaußfunktion und daraus abgeleiteter Größen. Dabei ist
SigmaSigmaSigmaSigmaSigmasigma der Parameter der Gaußfunktion (d.h. die
Glättung). Falls in SigmaSigmaSigmaSigmaSigmasigma ein Wert angegeben wird, ist
die Glättung in Spalten- und Zeilenrichtung gleich. Falls zwei
Werte in SigmaSigmaSigmaSigmaSigmasigma ü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
ComponentComponentComponentComponentComponentcomponent sind:
- 'none'
Nur Glättung.
- 'x'
1. Ableitung nach x.
- 'y'
1. Ableitung nach y.
- 'gradient'
Betrag des Gradienten.
- 'gradient_dir'
Richtung des Gradienten im Bogenmaß.
- 'xx'
2. Ableitung nach x.
- 'yy'
2. Ableitung nach y.
- 'xy'
Ableitung nach x und y.
- 'xxx'
3. Ableitung nach x.
- 'yyy'
3. Ableitung nach y.
- 'xxy'
Ableitung nach x, x und y.
- 'xyy'
Ableitung nach x, y und y.
- 'det'
Determinante der Hessematrix:
- 'laplace'
Laplace-Operator (Spur der Hessematrix)
- 'mean_curvature'
Mittlere Krümmung H
- 'gauss_curvature'
Gaußkrümmung K
- 'area'
Differentielle Fläche A
- 'eigenvalue1'
Erster Eigenwert
- 'eigenvalue2'
Zweiter Eigenwert
- 'eigenvec_dir'
Richtung des zum ersten Eigenwert gehörigen Eigenvektors im
Bogenmaß
- 'main1_curvature'
Erste Hauptkrümmung
- 'main2_curvature'
Zweite Hauptkrümmung
- 'kitchen_rosenfeld'
2. Ableitung in Richtung senkrecht zum Gradienten
- 'zuniga_haralick'
Normierte 2. Ableitung in Richtung senkrecht zum Gradienten
- '2nd_ddg'
2. Ableitung in Richtung des Gradienten
- 'de_saint_venant'
2. Ableitung in Richtung des Gradienten und senkrecht dazu
derivate_gaussderivate_gaussDerivateGaussderivate_gaussDerivateGaussDerivateGauss wird durch SSE2 Instruktionen beschleunigt, falls
der Systemparameter 'sse2_enable'"sse2_enable""sse2_enable""sse2_enable""sse2_enable""sse2_enable" auf 'true'"true""true""true""true""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'"none""none""none""none""none",
'x'"x""x""x""x""x" oder 'y'"y""y""y""y""y" als ComponentComponentComponentComponentComponentcomponent 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'"sse2_enable""sse2_enable""sse2_enable""sse2_enable""sse2_enable" auf 'false'"false""false""false""false""false" setzen, bevor Sie
derivate_gaussderivate_gaussDerivateGaussderivate_gaussDerivateGaussDerivateGauss aufrufen. Dadurch verwendet derivate_gaussderivate_gaussDerivateGaussderivate_gaussDerivateGaussDerivateGauss
keine SSE2 Beschleunigungen. Vergessen Sie nicht 'sse2_enable'"sse2_enable""sse2_enable""sse2_enable""sse2_enable""sse2_enable"
danach wieder auf 'true'"true""true""true""true""true" zu setzen.
derivate_gaussderivate_gaussDerivateGaussderivate_gaussDerivateGaussDerivateGauss wird nur dann auf einem OpenCL Device ausgeführt
wenn SigmaSigmaSigmaSigmaSigmasigma eine Filterbreite bzw. Filterhöhe bis zu 129
impliziert. Das entspricht einem SigmaSigmaSigmaSigmaSigmasigma von weniger als 20.7
für ComponentComponentComponentComponentComponentcomponent = 'none'"none""none""none""none""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.
- Unterstützt OpenCL Compute Devices.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
- Automatisch parallelisiert auf Kanalebene.
- Automatisch parallelisiert auf Domainebene.
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
Sigma
Sigma
Sigma
Sigma
sigma
≤
50.0
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: 0.01 <= Sigma <= 50.0
Zu berechnende Ableitung oder Merkmal.
Defaultwert:
'x'
"x"
"x"
"x"
"x"
"x"
Werteliste: '2nd_ddg'"2nd_ddg""2nd_ddg""2nd_ddg""2nd_ddg""2nd_ddg", 'area'"area""area""area""area""area", 'de_saint_venant'"de_saint_venant""de_saint_venant""de_saint_venant""de_saint_venant""de_saint_venant", 'det'"det""det""det""det""det", 'eigenvalue1'"eigenvalue1""eigenvalue1""eigenvalue1""eigenvalue1""eigenvalue1", 'eigenvalue2'"eigenvalue2""eigenvalue2""eigenvalue2""eigenvalue2""eigenvalue2", 'eigenvec_dir'"eigenvec_dir""eigenvec_dir""eigenvec_dir""eigenvec_dir""eigenvec_dir", 'gauss_curvature'"gauss_curvature""gauss_curvature""gauss_curvature""gauss_curvature""gauss_curvature", 'gradient'"gradient""gradient""gradient""gradient""gradient", 'gradient_dir'"gradient_dir""gradient_dir""gradient_dir""gradient_dir""gradient_dir", 'kitchen_rosenfeld'"kitchen_rosenfeld""kitchen_rosenfeld""kitchen_rosenfeld""kitchen_rosenfeld""kitchen_rosenfeld", 'laplace'"laplace""laplace""laplace""laplace""laplace", 'main1_curvature'"main1_curvature""main1_curvature""main1_curvature""main1_curvature""main1_curvature", 'main2_curvature'"main2_curvature""main2_curvature""main2_curvature""main2_curvature""main2_curvature", 'mean_curvature'"mean_curvature""mean_curvature""mean_curvature""mean_curvature""mean_curvature", 'none'"none""none""none""none""none", 'x'"x""x""x""x""x", 'xx'"xx""xx""xx""xx""xx", 'xxx'"xxx""xxx""xxx""xxx""xxx", 'xxy'"xxy""xxy""xxy""xxy""xxy", 'xy'"xy""xy""xy""xy""xy", 'xyy'"xyy""xyy""xyy""xyy""xyy", 'y'"y""y""y""y""y", 'yy'"yy""yy""yy""yy""yy", 'yyy'"yyy""yyy""yyy""yyy""yyy", 'zuniga_haralick'"zuniga_haralick""zuniga_haralick""zuniga_haralick""zuniga_haralick""zuniga_haralick"
Werteliste (für Compute Devices): 'none'"none""none""none""none""none", 'x'"x""x""x""x""x", 'y'"y""y""y""y""y", 'gradient'"gradient""gradient""gradient""gradient""gradient", 'gradient_dir'"gradient_dir""gradient_dir""gradient_dir""gradient_dir""gradient_dir", 'xx'"xx""xx""xx""xx""xx", 'yy'"yy""yy""yy""yy""yy", 'xy'"xy""xy""xy""xy""xy", 'xxx'"xxx""xxx""xxx""xxx""xxx", 'yyy'"yyy""yyy""yyy""yyy""yyy", 'xxy'"xxy""xxy""xxy""xxy""xxy", 'xyy'"xyy""xyy""xyy""xyy""xyy", 'laplace'"laplace""laplace""laplace""laplace""laplace"
read_image(&Image,"mreut");
derivate_gauss(Image,&Gauss,3.0,"x");
zero_crossing(Gauss,&ZeroCrossings);
zero_crossingzero_crossingZeroCrossingzero_crossingZeroCrossingZeroCrossing,
dual_thresholddual_thresholdDualThresholddual_thresholdDualThresholdDualThreshold
laplacelaplaceLaplacelaplaceLaplaceLaplace,
laplace_of_gausslaplace_of_gaussLaplaceOfGausslaplace_of_gaussLaplaceOfGaussLaplaceOfGauss,
binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter,
gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter,
smooth_imagesmooth_imageSmoothImagesmooth_imageSmoothImageSmoothImage,
isotropic_diffusionisotropic_diffusionIsotropicDiffusionisotropic_diffusionIsotropicDiffusionIsotropicDiffusion
zero_crossingzero_crossingZeroCrossingzero_crossingZeroCrossingZeroCrossing,
dual_thresholddual_thresholdDualThresholddual_thresholdDualThresholdDualThreshold
Foundation