| Operatoren |
derivate_vector_field — Falten eines Vektorfeldes mit Hilfe von Ableitungen der Gaußfunktion.
derivate_vector_field(VectorField : Result : Sigma, Component : )
derivate_vector_field glättet die Komponenten eines Vektorfeldes mit Hilfe von Ableitungen der Gaußfunktion und berechnet verschiedene daraus abgeleitete Größen. derivate_vector_field akzeptiert nur Vektorfelder die den semantischen Typ 'vector_field_relative' haben. Das Vektorfeld VectorField F(r,c)=(u(r,c),v(r,c)) ist wie in optical_flow_mg definiert. Dabei ist Sigma der Parameter der Gaußfunktion (d.h. es bestimmt die Glättung). Falls in Sigma ein einzelner 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:
Die Rotation des Vektorfeldes. Eine Anwendung von 'curl' ist es, optische Flussfelder zu analysieren. Bildlich gesprochen steht 'curl' für die Rotation, die ein kleines Boot hätte, falls das Vektorfeld eine Flüssigkeit wäre.
curl(F) = u_c - v_r
Die Divergenz des Vektorfeldes. Eine Anwendung von 'divergence' ist es, optische Flussfelder zu analysieren. Bildlich gesprochen steht 'divergence' für die Senken und Quellen die das Vektorfeld hätte, wenn es eine Flüssigkeit wäre.
div = u_r + v_c
Wenn derivate_vector_field im Kontext von photometrischem Stereo verwendet wird, bietet der Operator zwei weitere Parameter, die insbesondere für die Verarbeitung des Gradientenfeldes, das von photometric_stereo geliefert wird, geeignet sind. In diesem Fall wird das Vektorfeld als Gradientenfeld der Oberfläche interpretiert.
Im Folgenden wird das Eingabevektorfeld als G(r,c) = grad(f) = (f_r, f_c) angenommen, wobei die erste und zweite Komponente des Eingabegradientenfeldes das Gradientenfeld der Oberfläche f(r,c) ist. In den folgenden Formeln steht f_rc für die erste Ableitung in Spaltenrichtung der ersten Komponente des Gradientenfeldes.
Mittlere Krümmung H. Eine Anwendung von 'mean_curvature' ist es, Vektorfelder zu verarbeiten, die von photometric_stereo zurückgegeben werden. Nach dem Filtern können kleine Kratzer oder Erhebungen leichter segmentiert werden.
A = (1 + f_r * f_r) * f_cc B = f_r * f_c * ( f_rc + f_cr ) C = (1 + f_c * f_c) * f_rr D = (1 + f_r * f_r + f_c * f_c) ** (3/2) H = (A - B + C) / D
Gaußkrümmung K. Eine Anwendung von 'gauss_curvature' ist es, Vektorfelder zu verarbeiten, die von photometric_stereo zurückgegeben werden. Nach dem Filtern können kleine Kratzer oder Erhebungen leichter segmentiert werden. Wenn die Oberfläche, die dem Vektorfeld zugrunde liegt, abwickelbar ist, ist die Gaußkrümmung gleich Null.
K = (f_rr * f_cc - f_rc * f_cr) / (1 + f_r * f_r + f_c * f_c) ** 2
Eingabevektorfeld.
Gefilterte Bilder.
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: Sigma > 0.0
Zu berechnende Ableitung oder zu berechnendes Merkmal.
Defaultwert: 'mean_curvature'
Werteliste: 'curl', 'divergence', 'gauss_curvature', 'mean_curvature'
Sind die Parameterwerte korrekt, dann liefert derivate_vector_field 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 Exception-Behandlung durchgeführt.
optical_flow_mg, photometric_stereo
Foundation
| Operatoren |