derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorField (Operator)

Name

derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorField — Falten eines Vektorfeldes mit Hilfe von Ableitungen der Gaußfunktion.

Signatur

derivate_vector_field(VectorField : Result : Sigma, Component : )

Herror derivate_vector_field(const Hobject VectorField, Hobject* Result, double Sigma, const char* Component)

Herror T_derivate_vector_field(const Hobject VectorField, Hobject* Result, const Htuple Sigma, const Htuple Component)

void DerivateVectorField(const HObject& VectorField, HObject* Result, const HTuple& Sigma, const HTuple& Component)

HImage HImage::DerivateVectorField(const HTuple& Sigma, const HString& Component) const

HImage HImage::DerivateVectorField(double Sigma, const HString& Component) const

HImage HImage::DerivateVectorField(double Sigma, const char* Component) const

HImage HImage::DerivateVectorField(double Sigma, const wchar_t* Component) const   (Nur Windows)

static void HOperatorSet.DerivateVectorField(HObject vectorField, out HObject result, HTuple sigma, HTuple component)

HImage HImage.DerivateVectorField(HTuple sigma, string component)

HImage HImage.DerivateVectorField(double sigma, string component)

Beschreibung

derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldDerivateVectorField glättet die Komponenten eines Vektorfeldes mit Hilfe von Ableitungen der Gaußfunktion und berechnet verschiedene daraus abgeleitete Größen. derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldDerivateVectorField akzeptiert nur Vektorfelder die den semantischen Typ 'vector_field_relative' haben. Das Vektorfeld VectorFieldVectorFieldVectorFieldVectorFieldvectorField F(r,c)=(u(r,c),v(r,c)) ist wie in optical_flow_mgoptical_flow_mgOpticalFlowMgOpticalFlowMgOpticalFlowMg definiert. Dabei ist SigmaSigmaSigmaSigmasigma der Parameter der Gaußfunktion (d.h. es bestimmt die Glättung). Falls in SigmaSigmaSigmaSigmasigma ein einzelner Wert angegeben wird, ist die Glättung in Spalten- und Zeilenrichtung gleich. Falls zwei Werte in SigmaSigmaSigmaSigmasigma ü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 ComponentComponentComponentComponentcomponent sind:

'curl'"curl""curl""curl""curl":

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.

'divergence'"divergence""divergence""divergence""divergence":

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.

Wenn derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldDerivateVectorField im Kontext von photometrischem Stereo verwendet wird, bietet der Operator zwei weitere Parameter, die insbesondere für die Verarbeitung des Gradientenfeldes, das von photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereo geliefert wird, geeignet sind. In diesem Fall wird das Vektorfeld als Gradientenfeld der Oberfläche interpretiert.

Im Folgenden wird das Eingabevektorfeld als 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.

'mean_curvature'"mean_curvature""mean_curvature""mean_curvature""mean_curvature":

Mittlere Krümmung H. Eine Anwendung von 'mean_curvature' ist es, Vektorfelder zu verarbeiten, die von photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereo zurückgegeben werden. Nach dem Filtern können kleine Kratzer oder Erhebungen leichter segmentiert werden.

'gauss_curvature'"gauss_curvature""gauss_curvature""gauss_curvature""gauss_curvature":

Gaußkrümmung K. Eine Anwendung von 'gauss_curvature' ist es, Vektorfelder zu verarbeiten, die von photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereo 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.

Ausführungsinformationen

Parameter

VectorFieldVectorFieldVectorFieldVectorFieldvectorField (input_object)  singlechannelimage(-array) objectHImageHImageHobject (vector_field)

Eingabevektorfeld.

ResultResultResultResultresult (output_object)  singlechannelimage(-array) objectHImageHImageHobject * (real)

Gefilterte Bilder.

SigmaSigmaSigmaSigmasigma (input_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

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 ≤ 50.0

Restriktion: 0.01 <= Sigma <= 50.0

ComponentComponentComponentComponentcomponent (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Zu berechnende Ableitung oder zu berechnendes Merkmal.

Defaultwert: 'mean_curvature' "mean_curvature" "mean_curvature" "mean_curvature" "mean_curvature"

Werteliste: 'curl'"curl""curl""curl""curl", 'divergence'"divergence""divergence""divergence""divergence", 'gauss_curvature'"gauss_curvature""gauss_curvature""gauss_curvature""gauss_curvature", 'mean_curvature'"mean_curvature""mean_curvature""mean_curvature""mean_curvature"

Ergebnis

Sind die Parameterwerte korrekt, dann liefert derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldDerivateVectorField 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>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Exception-Behandlung durchgeführt.

Vorgänger

optical_flow_mgoptical_flow_mgOpticalFlowMgOpticalFlowMgOpticalFlowMg, photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereo

Nachfolger

thresholdthresholdThresholdThresholdThreshold

Modul

Foundation