sample_object_model_3d

( : : ObjectModel3D, Method, SampleDistance, GenParamName, GenParamValue : SampledObjectModel3D)
示例一个3D对象模型
输入:

  • ObjectModel3D
    对3D对象模型的处理进行采样。

  • Method
    选择不同的子采样方法。
    默认值:“fast”
    值列表:‘accurate’, ‘accurate_use_normals’, ‘fast’, ‘fast_compute_normals’

  • SampleDistance
    采样距离。
    元素个数:SampleDistance = = 1 | | SampleDistance = ObjectModel3D
    默认值:0.05

  • GenParamName
    可以调整的通用参数的名称。
    默认值:[]
    值列表:“max_angle_diff”,“min_num_points”

  • GenParamValue(input_control)号数组→(real / integer / string)
    可调整的通用参数的值。
    默认值:[]
    建议值:1、2、5、10、20、0.1、0.25、0.5

输出:

  • SampledObjectModel3D
    包含采样点的3D对象模型的手柄。
    元素数量:SampledObjectModel3D = ObjectModel3D

描述

1.sample_object_model_3d创建一个3D对象模型ObjectModel3D的采样版本,该对象模型由彼此之间具有最小距离的点组成。创建的3D对象模型在SampledObjectModel3D中返回。

2.如果需要对复杂的点云进行细化以获得更快的后处理,或者需要将原语转换为点云,那么建议使用sample_object_model_3d。请注意,如果3D对象模型是三角化的,并且应该通过尽可能保持其原始几何形状来简化,则应该使用simplify_object_model_3d

3.如果输入对象模型ObjectModel3D只包含点,则可以使用参数方法选择几种抽样方法。
默认的“fast”方法是将输入模型中不接近前面添加到输出模型中的任何点的所有点添加到输出模型中。如果存在,则将法线、xyz映射和扩展点属性复制到输出模型中。

4.方法’fast_compute_normals’选择与方法’fast’相同的点,但附加计算所选所有点的法线。为此,输入对象模型必须包含复制的法线,或者必须包含计算法线的xyz映射属性。xyz映射由xyz_to_object_model_3d创建。

该方法“accurate”遍历三维对象模型ObjectModel3D的各个点,并计算在被检查点周围的半径采样距离范围内是否有任何其他点。如果没有其他点,则原始点存储在SampledObjectModel3D中。如果存在其他点,则这些点(包括原始点)的重心存储在SampledObjectModel3D中。重复这个过程,直到没有点剩下。不复制输入3D对象模型的扩展属性,但复制法线和xyz映射。对于这种方法,可以通过在GenParamName和GenParamValue中为‘min_num_points’指定一个值来去除噪声,该值可以去除所有在原始模型中少于指定相邻点数量的内插点。
方法‘accurate_use_normals’需要在输入3D对象模型中使用法线,并且只插入具有相似法线的点。相似度取决于法线之间的角度。角度的阈值可以在GenParamName和GenParamValue中指定,并使用’max_angle_diff’。默认值是180度。此外,可以通过设置通用参数“min_num_points”来删除方法“accurate”中描述的异常值。

如果输入对象模型包含面(三角形或多边形)或3D原语,则使用给定的距离对表面进行采样。在这种情况下,方法中指定的方法将被忽略。注意,平面和圆柱必须有有限的范围。如果输入对象模型包含行,则使用给定的距离对这些行进行采样。

采样过程通过在输出对象模型中创建新点来近似曲面。因此,任何来自输入对象模型的扩展属性都会被丢弃。

对于混合输入对象模型,采样优先级是(从上到下)面、线、原语和点,即,只有最高优先级的对象被采样。
参数SampleDistance可以接受一个值(该值用于ObjectModel3D中传递的所有3D对象模型),也可以接受每个输入对象模型一个值。样本距离的单位是通常的HALCON-internal单位“m”。

注意,如果不再需要或应该覆盖3D对象模型,则必须首先通过调用操作符clear_object_model_3d来释放内存。

示例:

gen_box_object_model_3d ([0,0,0,0,0,0,0],3,2,1, ObjectModel3D)
sample_object_model_3d (ObjectModel3D, 'fast', 0.05, [], [], SampledObjectModel3D)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, SampledObjectModel3D, [], [], [], [], [], [], [], PoseOut)

Halcon算子学习:sample_object_model_3d相关推荐

  1. Halcon算子学习:图像阈值分割-threshold、binary_threshold、dyn_threshold算子

    Halcon算子学习:图像阈值分割算子 前言 1.threshold-全局固定阈值分割 2.Binary Threshold-自动全局阈值分割 3.dyn_threshold-局部动态阈值分割 小结: ...

  2. Halcon算子学习:XLD几种边缘连接函数

    Halcon算子学习:XLD几种边缘连接函数 1.union_cotangential_contours_xld (Contours : UnionContours : FitClippingLeng ...

  3. Halcon算子学习:find_surface_model

    find_surface_model ( : : SurfaceModelID, ObjectModel3D, RelSamplingDistance, KeyPointFraction, MinSc ...

  4. Halcon算子学习:create_surface_model

    create_surface_model ( : : ObjectModel3D, RelSamplingDistance, GenParamName, GenParamValue : Surface ...

  5. Halcon算子学习:smooth_object_model_3d

    smooth_object_model_3d ( : : ObjectModel3D, Method, GenParamName, GenParamValue : SmoothObjectModel3 ...

  6. Halcon算子学习:surface_normals_object_model_3d

    surface_normals_object_model_3d ( : : ObjectModel3D, Method, GenParamName, GenParamValue : ObjectMod ...

  7. Halcon算子学习:xyz_to_object_model_3d

    xyz_to_object_model_3d (X, Y, Z : : : ObjectModel3D) 将3D点从图像转换为3D对象模型. 输入: X (input_object) 单通道图像→ob ...

  8. [Halcon] 算子学习_Calibration_Calibration Object

    find_caltab find_marks_and_pose 输出参数StartPose是标定板的位姿 通过pose_to_hom_mat3d转化为Hom矩阵可得到下面的关系 3D_Point_Co ...

  9. Halcon算子学习:get_sheet_of_light_result

    get_sheet_of_light_result ( : ResultValue : SheetOfLightModelID, ResultName : ) 获得用线结构光技术进行测量的标志性结果 ...

最新文章

  1. 数字图像处理:图像就是函数的解读
  2. ARM处理器:开放者的逆袭
  3. Keil宏定义和如何知道单片机资源名称
  4. UA MATH636 信息论7 高斯信道简介
  5. 手把手教你Homestead安装,并填坑!!
  6. LeetCode 322. Coin Change
  7. 创建存储,修改存储_安全地创建和存储密码
  8. Qt:Qt实现飞秋拦截助手—Mac地址扫描器
  9. Android应用发布渠道汇总(更新中)
  10. oracle范围分区表,Oracle表分区之范围分区-Oracle
  11. Windows批量快速删除大量文件
  12. python+selenium+autoit实现自动百度识图
  13. 彻底阻止、禁用google chrome浏览器自动更新、升级
  14. server是什么意思
  15. Docker 入坑指南
  16. 一文了解linux下socket编程
  17. C#的OpenFileDialog和SaveFileDialog的常见用法
  18. mshtml与System.Windows.Forms.HtmlElement
  19. Transformer Tracking
  20. 低学历者该如何学习计算机技术

热门文章

  1. Power Bi:DAX函数总结
  2. ACL'21 | 弱标签的垃圾数据,也能变废为宝!
  3. 算法岗面试前怎样高效刷题?
  4. 写给我的女神,一个用灵魂歌唱的小精灵
  5. 剖析 Promise 之基础篇
  6. 论文浅尝 | 主题驱动的分子图表示对比学习
  7. 【Java】网络编程
  8. Java总结:正则表达式
  9. JavaWeb笔记:CSS总结
  10. php简单的用户留言板实现内容(1-23)