derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldderivate_vector_field导数向量场(算子)

名称

derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldderivate_vector_field — 用高斯导数卷积向量场。

签名

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   ( Windows only)

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)

def derivate_vector_field(vector_field: HObject, sigma: MaybeSequence[float], component: str) -> HObject

描述

derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldDerivateVectorFieldderivate_vector_field 将向量场的分量与高斯函数的导数进行卷积,并计算由此衍生的各种特征。derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldDerivateVectorFieldderivate_vector_field 仅接受语义类型为 vector_field_relative 的向量场。向量场 VectorFieldVectorFieldVectorFieldVectorFieldvectorFieldvector_field 的定义与 optical_flow_mgoptical_flow_mgOpticalFlowMgOpticalFlowMgOpticalFlowMgoptical_flow_mg 中一致。SigmaSigmaSigmaSigmasigmasigma 是高斯函数的参数(即平滑程度)。如果 SigmaSigmaSigmaSigmasigmasigma 参数中传入一个值,则列方向和行方向的平滑程度相同。如果 SigmaSigmaSigmaSigmasigmasigma 参数中传入两个值,则第一个值指定列方向的平滑程度,第二个值指定行方向的平滑程度。ComponentComponentComponentComponentcomponentcomponent 的可能取值包括:

'curl'"curl""curl""curl""curl""curl"

向量场的旋度。使用 'curl'"curl""curl""curl""curl""curl" 的一个应用是分析光流场。打个比方,如果将向量场视为流体,那么旋度就相当于一艘小船会旋转多少。

'divergence'"divergence""divergence""divergence""divergence""divergence"

向量场的散度。使用 'divergence'"divergence""divergence""divergence""divergence""divergence" 的一个应用是分析光流场。打个比方,如果将向量场视为流体,散度就相当于源点和汇点的位置。

在光度立体视觉的语境下,derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldDerivateVectorFieldderivate_vector_field 算子提供了两个额外参数,这些参数专门用于处理由 photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereophotometric_stereo 返回的梯度场。在此情况下,我们将输入向量场解释为底层表面的梯度。

因此,在以下公式中,输入向量场记为 其中输入向量场的第一个和第二个分量分别是表面 的梯度场。在下述公式中,f_rc 表示梯度场第一分量在列方向上的一阶导数。

'mean_curvature'"mean_curvature""mean_curvature""mean_curvature""mean_curvature""mean_curvature"

当输入向量场 VectorFieldVectorFieldVectorFieldVectorFieldvectorFieldvector_field 被解释为梯度场时,底层表面的平均曲率 。使用 'mean_curvature'"mean_curvature""mean_curvature""mean_curvature""mean_curvature""mean_curvature" 的一个应用场景是处理由 photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereophotometric_stereo 返回的向量场。对向量场进行滤波处理后,即使是微小的划痕或凸起也能被分割出来。

'gauss_curvature'"gauss_curvature""gauss_curvature""gauss_curvature""gauss_curvature""gauss_curvature"

当输入向量场 VectorFieldVectorFieldVectorFieldVectorFieldvectorFieldvector_field 被解释为梯度场时,底层表面的高斯曲率 。使用 'gauss_curvature'"gauss_curvature""gauss_curvature""gauss_curvature""gauss_curvature""gauss_curvature" 的一个应用是处理 photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereophotometric_stereo 返回的向量场。对向量场进行滤波后,即使是微小的划痕或凸起也能被分割出来。如果向量场的底层表面是可展的,则高斯曲率为零。

执行信息

参数

VectorFieldVectorFieldVectorFieldVectorFieldvectorFieldvector_field (输入对象)  singlechannelimage(-array) objectHImageHObjectHImageHobject (vector_field)

输入向量场。

ResultResultResultResultresultresult (输出对象)  singlechannelimage(-array) objectHImageHObjectHImageHobject * (real)

滤波后的结果图像。

SigmaSigmaSigmaSigmasigmasigma (输入控制)  real(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

高斯函数的 Sigma (平滑)参数。

默认值: 1.0

建议值: 0.7, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0

值范围: 0.01 ≤ Sigma Sigma Sigma Sigma sigma sigma ≤ 50.0

ComponentComponentComponentComponentcomponentcomponent (输入控制)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

待计算的分量。

默认值: 'mean_curvature' "mean_curvature" "mean_curvature" "mean_curvature" "mean_curvature" "mean_curvature"

值列表: '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"

结果

如果参数有效,算子 derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldDerivateVectorFieldderivate_vector_field 返回值 2 (H_MSG_TRUE)。当输入为空(无可用输入图像)时,可设置行为通过算子 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>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。

可能的前趋

optical_flow_mgoptical_flow_mgOpticalFlowMgOpticalFlowMgOpticalFlowMgoptical_flow_mg, photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereophotometric_stereo

可能的后继

thresholdthresholdThresholdThresholdThresholdthreshold

模块

基础