Halcon算子学习:surface_normals_object_model_3d

Halcon算子学习:surface_normals_object_model_3d

surface_normals_object_model_3d

( : : ObjectModel3D, Method, GenParamName, GenParamValue : ObjectModel3DNormals)
计算三维物体模型的三维曲面法线

输入:

  • ObjectModel3D (input_control)
    包含3D点数据的3D对象模型句柄。
  • Method(input_control)
    法线计算方法。
    默认值:‘mls’
    值列表:‘mls’
  • GenParamName (input_control)
    一般平滑参数的名称。
    默认值:[]
    值列表:‘mls_abs_sigma’, ‘mls_force_inwards’, ‘mls_kNN’, ‘mls_order’, ‘mls_relative_sigma’
  • GenParamValue (input_control)
    一般平滑参数的值。
    默认值:[]
    建议值:10、20、40、60、0.1、0.5、1.0、2.0、0、1、2、‘true’, ‘false’

输出:

  • ObjectModel3DNormals (output_control) object_model_3d(-数组)→(整数)
    具有计算出的三维法线的三维对象模型的句柄。

算子说明

操作符surface_normals_object_model_3d使用指定的方法计算对象ObjectModel3D的3D表面法线。计算出的法线被附加到输入对象,结果对象在objectmodel3d法线中返回。目前,移动最小二乘(MLS, Method=’ MLS ')是唯一支持的法线估算方法。

用于法线估算的MLS方法与smooth_object_model_3d使用的MLS方法本质上是相同的,只是在surface_normals_object_model_3d中,3D点没有被平滑,即,ObjectModel3D的原始3D点保持不变。有关MLS的更多细节,以及支持的MLS参数的完整列表和描述,请参考smooth_object_model_3d。

注意:

  • 对于法向量无法估计的点,它被设置为零向量。例如,如果3D对象模型包含的相同点多于’mls_kNN’次,就会发生这种情况。
  • 如果不再需要或应该覆盖3D对象模型,则必须首先通过调用操作符clear_object_model_3d来释放内存。
  • Halcon算子学习:surface_normals_object_model_3d