【四】3D Object Model之创建Creation——set_object_model_3d_attrib_mod()/union_object_model_3d()算子


欢迎来到本博客

Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有时间会更新具体案例。

具体食用方式:可以点击本专栏【Halcon算子快速查找】–>搜索你要查询的算子名称;或者点击Halcon算子汇总博客,即可食用。

支持:如果觉得博主的文章还不错或者您用得到的话,可以悄悄关注一下博主哈,如果三连收藏支持就更好啦!这就是给予我最大的支持!


文章目录

  • 学习目标
  • 学习内容
    • 1、set_object_model_3d_attrib_mod()
      • Halcon例程
    • 2、union_object_model_3d()
      • Halcon例程
  • 【3D Object Model之创建Creation】 待更新算子
  • 汇总

学习目标

  • set_object_model_3d_attrib_mod()
  • union_object_model_3d()

学习内容

算子简介

函数名 解释
set_object_model_3d_attrib_mod() 设置三维对象模型的属性。
union_object_model_3d() 将多个三维对象模型组合到新的三维对象模型中。

1、set_object_model_3d_attrib_mod()

  set_object_model_3d_attrib_mod( : : ObjectModel3D, AttribName, AttachExtAttribTo, AttribValues : )

  函数说明:将三维对象模型ObjectModel3DAttribName中给定的标准属性或扩展属性设置为AttribValues中的值。
  set_object_model_3d_attrib_modset_object_model_3d_ttrib相同,不同之处在于它不创建新的3d对象模型,而是修改给定的对象模型。通过设置参数AttachExtAttribTo,可以将扩展属性的值附加到三维对象模型的现有标准属性。对于标准属性,将忽略AttachExtAttribTo
  如果AttribName中的属性不存在,则会在可能的情况下创建这些属性。如果已设置现有属性,则AttribValues的长度必须与现有属性值匹配。在这种情况下,将替换现有的属性值。如果使用AttachExtAttribTo将扩展属性附加到已存在的标准属性,则AttribValues的长度必须与现有属性值匹配。

  函数参数:
    ObjectModel3D输入 3D对象模型句柄;
    AttribName输入属性名称;例如: ‘lines’, ‘point_coord_x’, ‘point_coord_y’, ‘point_coord_z’, ‘point_normal_x’, ‘point_normal_y’, ‘point_normal_z’, ‘polygons’, ‘triangles’, ‘xyz_mapping’;
    AttachExtAttribTo输入定义扩展属性的附加位置。默认: [ ];参考: [ ], ‘lines’, ‘object’, ‘points’, ‘polygons’, ‘triangles’;
    AttribValues输入属性值;

  :如果在AttribName中给定了多个属性,则AttribValues被划分为长度相等的子元组。然后将每个子元组分配给一个属性:

AttribName := ['&attrib1','&attrib2','&attrib3']
AttribValues := [0.0,1.0,2.0,3.0,4.0,5.0]

Halcon例程

sick-scanningruler_objectmodel3d.hdev				使用SICK ScanningRuler界面从SICK Ranger传感器数据生成3D对象模型
set_object_model_3d_attrib.hdev		        		设置三维对象模型的属性
reconstruct_3d_object_model_for_matching.hdev		通过三维配准从多个视图重建用于匹配的三维对象模型
find_shape_model_3d_recompute_score.hdev			在基于形状的3D匹配的姿势细化之后重新计算分数
find_deformable_surface_model.hdev					使用基于可变形曲面的匹配在三维场景中查找对象
disp_object_model_3d.hdev							显示三维对象模型
argos3d-p1xx_objectmodel3d.hdev						使用Argos3D-P1xx接口从Argos3D-P1xx传感器数据生成3D对象模型

2、union_object_model_3d()

  union_object_model_3d( : : ObjectModels3D, Method : UnionObjectModel3D)

  函数说明:union_object_model_3d将ObjectModels3D中所有输入模型的数据组合为新的3d对象模型,该模型在UnionObjectModel3D中返回。只有存在于所有输入对象中的属性才会在UnionObjectModel3D中组合并返回。
  三维对象模型中的重叠区域可能会导致输出中潜在的二维贴图、多边形或三角形用处不大,因为它们也可能重叠。
  到目前为止,唯一支持的方法是“points_surface”,它将所有点和曲面组合到输出UnionObjectModel3D中。

  函数参数:
    ObjectModel3D输入 3D对象模型句柄;
    Method输入用于并集的方法;默认: ‘points_surface’;
    UnionObjectModel3D输出生成的三维对象模型的控制柄;

  

gen_object_model_3d_from_points ([0,0,0,0],[1,1,0,0], [0,1,1,0],ObjectModel3D1)
gen_object_model_3d_from_points ([1,1,1,1],[1,1,0,0], [0,1,1,0], ObjectModel3D2)
get_object_model_3d_params (ObjectModel3D1, 'diameter', DiameterOld)
union_object_model_3d ([ObjectModel3D1,ObjectModel3D2], 'points_surface',UnionObjectModel3D)
get_object_model_3d_params (UnionObjectModel3D, 'diameter', DiameterNew)

Halcon例程

reconstruct_3d_object_model_for_matching.hdev		通过三维配准从多个视图重建用于匹配的三维对象模型
find_deformable_surface_model.hdev					使用基于可变形曲面的匹配在三维场景中查找对象

【3D Object Model之创建Creation】 待更新算子

  • clear_object_model_3d()
  • copy_object_model_3d()
  • deserialize_object_model_3d()
  • gen_box_object_model_3d()
  • gen_cylinder_object_model_3d()
  • gen_empty_object_model_3d()
  • gen_object_model_3d_from_points()
  • gen_plane_object_model_3d()
  • gen_sphere_object_model_3d()
  • gen_sphere_object_model_3d_center()
  • read_object_model_3d()
  • serialize_object_model_3d()
  • set_object_model_3d_attrib()
  • set_object_model_3d_attrib_mod()
  • union_object_model_3d()
  • write_object_model_3d()

汇总

  本专栏博客汇总:Halcon算子汇总


今天的文章就到这里啦~
喜欢的话,点赞、收藏⭐️、关注哦 ~

你可能感兴趣的:(#,【四】3D,Object,Model,3d,halcon,图像处理,计算机视觉)