derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldderivate_vector_field导数向量场(算子)
名称
derivate_vector_fieldderivate_vector_fieldDerivateVectorFieldDerivateVectorFieldderivate_vector_field — 用高斯导数卷积向量场。
签名
描述
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
模块
基础