KlassenKlassenKlassenKlassen | | | | Operatoren

derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldderivate_vector_fieldDerivateVectorFieldDerivateVectorField (Operator)

Name

derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldderivate_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)

Herror derivate_vector_field(Hobject VectorField, Hobject* Result, const HTuple& Sigma, const HTuple& Component)

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

HImageArray HImageArray::DerivateVectorField(const HTuple& Sigma, const HTuple& Component) const

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

void HOperatorSetX.DerivateVectorField(
[in] IHUntypedObjectX* VectorField, [out] IHUntypedObjectX*Result, [in] VARIANT Sigma, [in] VARIANT Component)

IHImageX* HImageX.DerivateVectorField(
[in] VARIANT Sigma, [in] BSTR Component)

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_fieldDerivateVectorFieldderivate_vector_fieldDerivateVectorFieldDerivateVectorField glättet die Komponenten eines Vektorfeldes mit Hilfe von Ableitungen der Gaußfunktion und berechnet verschiedene daraus abgeleitete Größen. derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldderivate_vector_fieldDerivateVectorFieldDerivateVectorField akzeptiert nur Vektorfelder die den semantischen Typ 'vector_field_relative' haben. Das Vektorfeld VectorFieldVectorFieldVectorFieldVectorFieldVectorFieldvectorField F(r,c)=(u(r,c),v(r,c)) ist wie in optical_flow_mgoptical_flow_mgOpticalFlowMgoptical_flow_mgOpticalFlowMgOpticalFlowMg definiert. Dabei ist SigmaSigmaSigmaSigmaSigmasigma der Parameter der Gaußfunktion (d.h. es bestimmt die Glättung). Falls in SigmaSigmaSigmaSigmaSigmasigma ein einzelner 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:

'curl'"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""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_fieldDerivateVectorFieldderivate_vector_fieldDerivateVectorFieldDerivateVectorField 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_stereoPhotometricStereophotometric_stereoPhotometricStereoPhotometricStereo 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""mean_curvature":

Mittlere Krümmung H. Eine Anwendung von 'mean_curvature' ist es, Vektorfelder zu verarbeiten, die von photometric_stereophotometric_stereoPhotometricStereophotometric_stereoPhotometricStereoPhotometricStereo 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""gauss_curvature":

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

Parallelisierung

Parameter

VectorFieldVectorFieldVectorFieldVectorFieldVectorFieldvectorField (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (vector_field)

Eingabevektorfeld.

ResultResultResultResultResultresult (output_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject * (real)

Gefilterte Bilder.

SigmaSigmaSigmaSigmaSigmasigma (input_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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 sigma ≤ 50.0

Restriktion: 0.01 <= Sigma <= 50.0

ComponentComponentComponentComponentComponentcomponent (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Zu berechnende Ableitung oder zu berechnendes Merkmal.

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

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

Ergebnis

Sind die Parameterwerte korrekt, dann liefert derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldderivate_vector_fieldDerivateVectorFieldDerivateVectorField 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 Exception-Behandlung durchgeführt.

Vorgänger

optical_flow_mgoptical_flow_mgOpticalFlowMgoptical_flow_mgOpticalFlowMgOpticalFlowMg, photometric_stereophotometric_stereoPhotometricStereophotometric_stereoPhotometricStereoPhotometricStereo

Nachfolger

thresholdthresholdThresholdthresholdThresholdThreshold

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren