文章目录
- 形成单独的连通域分割
- connection_object_model_3d 确定 3D 物体模型的连接组件
- 筛选
- get_object_model_3d_params 获取3D物体的属性
- select_object_model_3d 根据全局特征从 3D 物体模型阵列中选择 3D 物体模型
- 仿射运算
- moments_object_model_3d 计算三维物体模型的平均值或二阶中心矩(变换到原始坐标系下的主轴x,y,z)
- pose_invert 反转三维姿势元组中的每个姿势。
- rigid_trans_object_model_3d 将刚性三维变换应用于三维物体模型。
- pose_to_hom_mat3d 将3D姿态转换为同质变换矩阵。
- affine_trans_object_model_3d 将任意仿射 3D 变换应用于 3D 物体模型。
- 组合成一个整体
- triangulate_object_model_3d 形成一个三角形平面
- smallest_bounding_box_object_model_3d 计算三维物体模型点周围的最小边界框
形成单独的连通域分割
connection_object_model_3d 确定 3D 物体模型的连接组件
connection_object_model_3d( : : ObjectModel3D, Feature, Value : ObjectModel3DConnected)
ObjectModel3D (输入控制)类型: 整数数组描述: 3D对象模型的句柄。解释:这个参数是一个整数数组,表示一个或多个3D对象模型的句柄。通过这些句柄,可以访问和操作这些3D对象模型。
Feature (输入控制)类型: 字符串数组描述: 用于计算连通分量的属性。默认值: 'distance_3d'可选值:'angle': 使用角度作为连通性判断的属性。'distance_3d': 使用三维距离作为连通性判断的属性。'distance_mapping': 使用距离映射作为连通性判断的属性。'lines': 使用线条作为连通性判断的属性。'mesh': 使用网格作为连通性判断的属性。解释:这个参数指定用于计算连通分量的属性。不同的属性会影响连通分量的计算方式。
Value (输入控制)类型: 实数或整数数组描述: 两个连通分量之间的最大距离值。默认值: 1.0建议值: 1.0, 1.1, 1.5, 10.0, 100.0解释:这个参数指定两个连通分量之间的最大距离值。如果两个分量之间的距离小于或等于这个值,则认为它们是连通的。
ObjectModel3DConnected (输出控制)类型: 整数数组描述: 表示连通分量的3D对象模型的句柄。解释:这个参数是一个整数数组,表示生成的连通分量的3D对象模型的句柄。每个句柄对应一个连通分量,可以通过这些句柄访问和操作这些连通分量。
筛选
get_object_model_3d_params 获取3D物体的属性
get_object_model_3d_params( : : ObjectModel3D, GenParamName : GenParamValue)
ObjectModel3D (输入控制)类型: 整数数组描述: 3D对象模型的句柄。解释:这个参数是一个整数数组,表示一个或多个3D对象模型的句柄。通过这些句柄,可以访问和操作这些3D对象模型。GenParamName (输入控制)类型: 字符串数组描述: 查询的3D对象模型的通用属性的名称。默认值: 'num_points'可选值:'blue': 蓝色通道的值。'bounding_box1': 轴对齐的边界框。'center': 对象的中心点。'diameter_axis_aligned_bounding_box': 轴对齐边界框的直径。'extended_attribute_names': 扩展属性的名称。'green': 绿色通道的值。'has_distance_computation_data': 是否包含距离计算数据。'has_extended_attribute': 是否包含扩展属性。'has_lines': 是否包含线条。'has_point_normals': 是否包含点法线。'has_points': 是否包含点。'has_polygons': 是否包含多边形。'has_primitive_data': 是否包含原始数据。'has_primitive_rms': 是否包含原始数据的均方根误差。'has_segmentation_data': 是否包含分割数据。'has_shape_based_matching_3d_data': 是否包含基于形状的3D匹配数据。'has_surface_based_matching_data': 是否包含基于表面的匹配数据。'has_triangles': 是否包含三角形。'has_xyz_mapping': 是否包含XYZ映射。'lines': 线条数据。'mapping_col': 映射列。'mapping_row': 映射行。'neighbor_distance': 邻居距离。'num_extended_attribute': 扩展属性的数量。'num_lines': 线条的数量。'num_neighbors': 邻居的数量。'num_neighbors_fast': 快速计算的邻居数量。'num_points': 点的数量。'num_polygons': 多边形的数量。'num_primitive_parameter_extension': 原始参数扩展的数量。'num_triangles': 三角形的数量。'point_coord_x': 点的X坐标。'point_coord_y': 点的Y坐标。'point_coord_z': 点的Z坐标。'point_normal_x': 点法线的X分量。'point_normal_y': 点法线的Y分量。'point_normal_z': 点法线的Z分量。'polygons': 多边形数据。'primitive_parameter': 原始参数。'primitive_parameter_extension': 原始参数扩展。'primitive_parameter_pose': 原始参数姿态。'primitive_pose': 原始姿态。'primitive_rms': 原始数据的均方根误差。'primitive_type': 原始类型。'red': 红色通道的值。'reference_point': 参考点。'score': 分数。'triangles': 三角形数据。解释:这个参数指定要查询的3D对象模型的通用属性的名称。通过这些名称,可以获取相应的属性值。GenParamValue (输出控制)类型: 字符串/整数/实数数组描述: 通用参数的值。解释:这个参数是一个数组,包含查询的通用属性的值。根据查询的属性名称,返回相应的字符串、整数或实数值。
select_object_model_3d 根据全局特征从 3D 物体模型阵列中选择 3D 物体模型
select_object_model_3d( : : ObjectModel3D, Feature, Operation, MinValue, MaxValue : ObjectModel3DSelected)
### ObjectModel3D (输入控制)
- **类型**: 整数数组
- **描述**: 可供选择的3D对象模型的句柄。
- **解释**:- 这个参数是一个整数数组,表示可供选择的3D对象模型的句柄。通过这些句柄,可以选择满足特定条件的3D对象模型。### Feature (输入控制)
- **类型**: 字符串数组
- **描述**: 要进行测试的特征列表。
- **默认值**: 'has_triangles'
- **可选值**:- 'area': 面积。- 'central_moment_2_x': X方向的二阶中心矩。- 'central_moment_2_xy': XY平面的二阶中心矩。- 'central_moment_2_xz': XZ平面的二阶中心矩。- 'central_moment_2_y': Y方向的二阶中心矩。- 'central_moment_2_yz': YZ平面的二阶中心矩。- 'central_moment_2_z': Z方向的二阶中心矩。- 'diameter_axis_aligned_bounding_box': 轴对齐边界框的直径。- 'diameter_bounding_box': 边界框的直径。- 'diameter_object': 对象的直径。- 'has_faces': 是否包含面。- 'has_lines': 是否包含线条。- 'has_point_normals': 是否包含点法线。- 'has_primitive_data': 是否包含原始数据。- 'has_segmentation_data': 是否包含分割数据。- 'has_shape_based_matching_3d_data': 是否包含基于形状的3D匹配数据。- 'has_surface_based_matching_data': 是否包含基于表面的匹配数据。- 'has_triangles': 是否包含三角形。- 'has_xyz_mapping': 是否包含XYZ映射。- 'mean_points_x': X方向的平均点坐标。- 'mean_points_y': Y方向的平均点坐标。- 'mean_points_z': Z方向的平均点坐标。- 'num_faces': 面的数量。- 'num_lines': 线条的数量。- 'num_points': 点的数量。- 'num_triangles': 三角形的数量。- 'volume': 体积。- 'volume_axis_aligned_bounding_box': 轴对齐边界框的体积。
- **解释**:- 这个参数指定要进行测试的特征列表。通过这些特征,可以对3D对象模型进行筛选。### Operation (输入控制)
- **类型**: 字符串
- **描述**: 用于组合特征的逻辑操作。
- **默认值**: 'and'
- **可选值**:- 'and': 逻辑与操作。- 'or': 逻辑或操作。
- **解释**:- 这个参数指定用于组合特征的逻辑操作。通过这个操作,可以定义多个特征之间的组合方式。### MinValue (输入控制)
- **类型**: 实数/整数/字符串数组
- **描述**: 给定特征的最小值。
- **默认值**: 1
- **建议值**: 0, 1, 100, 0.1, 'true', 'false', 'min'
- **解释**:- 这个参数指定给定特征的最小值。通过这个值,可以筛选出满足最小值条件的3D对象模型。### MaxValue (输入控制)
- **类型**: 实数/整数/字符串数组
- **描述**: 给定特征的最大值。
- **默认值**: 1
- **建议值**: 0, 1, 10, 100, 0.1, 'true', 'false', 'max'
- **解释**:- 这个参数指定给定特征的最大值。通过这个值,可以筛选出满足最大值条件的3D对象模型。### ObjectModel3DSelected (输出控制)
- **类型**: 整数数组
- **描述**: 满足给定条件的ObjectModel3D的子集。
- **解释**:- 这个参数是一个整数数组,表示满足给定条件的3D对象模型的句柄。通过这些句柄,可以访问和操作满足条件的3D对象模型。
仿射运算
moments_object_model_3d 计算三维物体模型的平均值或二阶中心矩(变换到原始坐标系下的主轴x,y,z)
moments_object_model_3d( : : ObjectModel3D, MomentsToCalculate : Moments)
### ObjectModel3D (输入控制)
- **类型**: 整数数组
- **描述**: 3D对象模型的句柄。
- **解释**:- 这个参数是一个整数数组,表示一个或多个3D对象模型的句柄。通过这些句柄,可以访问和操作这些3D对象模型。### MomentsToCalculate (输入控制)
- **类型**: 字符串数组
- **描述**: 要计算的矩。
- **默认值**: 'mean_points'
- **可选值**:- 'central_moment_2_points': 二阶中心矩。- 'mean_points': 平均点。- 'principal_axes': 主轴。
- **解释**:- 这个参数指定要计算的矩。通过这些矩,可以获取3D对象模型的统计信息。### Moments (输出控制)
- **类型**: 实数数组
- **描述**: 计算得到的矩。
- **元素数量**: Moments 的元素数量等于 ObjectModel3D 的元素数量。
- **解释**:- 这个参数是一个实数数组,包含计算得到的矩。每个矩对应一个3D对象模型。
pose_invert 反转三维姿势元组中的每个姿势。
pose_invert( : : Pose : PoseInvert)
### Pose (输入控制)
- **类型**: 实数/整数数组
- **描述**: 3D姿态的元组。
- **解释**:- 这个参数是一个包含3D姿态的元组。每个姿态通常由7个元素组成,前三个元素表示平移(x, y, z),接下来的三个元素表示旋转(欧拉角或四元数),最后一个元素是比例因子。### PoseInvert (输出控制)
- **类型**: 实数/整数数组
- **描述**: 反转的3D姿态的元组。
- **解释**:- 这个参数是一个包含反转的3D姿态的元组。每个反转的姿态对应输入的姿态,表示其逆变换。
rigid_trans_object_model_3d 将刚性三维变换应用于三维物体模型。
rigid_trans_object_model_3d( : : ObjectModel3D, Pose : ObjectModel3DRigidTrans)
### ObjectModel3D (输入控制)
- **类型**: 整数数组
- **描述**: 3D对象模型的句柄。
- **解释**:- 这个参数是一个整数数组,表示一个或多个3D对象模型的句柄。通过这些句柄,可以访问和操作这些3D对象模型。### Pose (输入控制)
- **类型**: 实数/整数数组
- **描述**: 姿态。
- **解释**:- 这个参数是一个包含姿态的数组。每个姿态通常由7个元素组成,前三个元素表示平移(x, y, z),接下来的三个元素表示旋转(欧拉角或四元数),最后一个元素是比例因子。### ObjectModel3DRigidTrans (输出控制)
- **类型**: 整数数组
- **描述**: 变换后的3D对象模型的句柄。
- **解释**:- 这个参数是一个整数数组,表示变换后的3D对象模型的句柄。通过这些句柄,可以访问和操作变换后的3D对象模型。
pose_to_hom_mat3d 将3D姿态转换为同质变换矩阵。
pose_to_hom_mat3d( : : Pose : HomMat3D)
### Pose (输入控制)
- **类型**: 实数/整数
- **描述**: 3D姿态。
- **元素数量**: 7
- **解释**:- 这个参数是一个包含7个元素的数组,表示一个3D姿态。前三个元素表示平移(x, y, z),接下来的三个元素表示旋转(欧拉角或四元数),最后一个元素是比例因子。### HomMat3D (输出控制)
- **类型**: 实数
- **描述**: 等效的齐次变换矩阵。
- **解释**:- 这个参数是一个4x4的齐次变换矩阵,表示与输入的3D姿态等效的变换。通过这个矩阵,可以对3D对象进行相应的变换操作。
affine_trans_object_model_3d 将任意仿射 3D 变换应用于 3D 物体模型。
affine_trans_object_model_3d( : : ObjectModel3D, HomMat3D : ObjectModel3DAffineTrans)
### ObjectModel3D (输入控制)
- **类型**: 整数数组
- **描述**: 3D对象模型的句柄。
- **解释**:- 这个参数是一个整数数组,表示一个或多个3D对象模型的句柄。通过这些句柄,可以访问和操作这些3D对象模型。### HomMat3D (输入控制)
- **类型**: 实数数组
- **描述**: 变换矩阵。
- **解释**:- 这个参数是一个包含变换矩阵的数组。每个变换矩阵是一个4x4的齐次变换矩阵,用于对3D对象模型进行变换操作。### ObjectModel3DAffineTrans (输出控制)
- **类型**: 整数数组
- **描述**: 变换后的3D对象模型的句柄。
- **解释**:- 这个参数是一个整数数组,表示变换后的3D对象模型的句柄。通过这些句柄,可以访问和操作变换后的3D对象模型。
组合成一个整体
triangulate_object_model_3d 形成一个三角形平面
triangulate_object_model_3d( : : ObjectModel3D, Method, GenParamName, GenParamValue : TriangulatedObjectModel3D, Information)
### ObjectModel3D (输入控制)
- **类型**: 整数数组
- **描述**: 包含3D点数据的3D对象模型的句柄。
- **解释**:- 这个参数是一个整数数组,表示包含3D点数据的3D对象模型的句柄。通过这些句柄,可以访问和操作这些3D对象模型。### Method (输入控制)
- **类型**: 字符串
- **描述**: 三角剖分方法。
- **默认值**: 'greedy'
- **可选值**:- 'greedy': 贪婪方法。- 'implicit': 隐式方法。- 'polygon_triangulation': 多边形三角剖分方法。- 'xyz_mapping': XYZ映射方法。
- **解释**:- 这个参数指定用于三角剖分的方法。不同的方法会影响三角剖分的计算方式。### GenParamName (输入控制)
- **类型**: 字符串数组
- **描述**: 三角剖分通用参数的名称。
- **默认值**: []
- **可选值**:- 'greedy_fix_flips': 贪婪方法修复翻转。- 'greedy_hole_filling': 贪婪方法填充孔洞。- 'greedy_kNN': 贪婪方法k近邻。- 'greedy_mesh_dilation': 贪婪方法网格膨胀。- 'greedy_mesh_erosion': 贪婪方法网格腐蚀。- 'greedy_neigh_latitude_tol': 贪婪方法邻居纬度容差。- 'greedy_neigh_orient_consistent': 贪婪方法邻居方向一致性。- 'greedy_neigh_orient_tol': 贪婪方法邻居方向容差。- 'greedy_neigh_vertical_tol': 贪婪方法邻居垂直容差。- 'greedy_prefetch_neighbors': 贪婪方法预取邻居。- 'greedy_radius_type': 贪婪方法半径类型。- 'greedy_radius_value': 贪婪方法半径值。- 'greedy_remove_small_surfaces': 贪婪方法移除小表面。- 'greedy_suppress_timeout_error': 贪婪方法抑制超时错误。- 'greedy_timeout': 贪婪方法超时。- 'implicit_min_num_samples': 隐式方法最小样本数。- 'implicit_octree_depth': 隐式方法八叉树深度。- 'implicit_solver_depth': 隐式方法求解器深度。- 'information': 信息。- 'xyz_mapping_max_area_holes': XYZ映射方法最大面积孔洞。
- **解释**:- 这个参数指定三角剖分通用参数的名称。通过这些参数,可以进一步控制三角剖分的过程。### GenParamValue (输入控制)
- **类型**: 实数/整数/字符串数组
- **描述**: 三角剖分通用参数的值。
- **默认值**: []
- **建议值**: 6, 8, 12, 'true', 'false', 'auto', 'fixed', 'z_factor', 'verbose', 'num_triangles'
- **解释**:- 这个参数指定三角剖分通用参数的值。通过这些值,可以进一步控制三角剖分的过程。### TriangulatedObjectModel3D (输出控制)
- **类型**: 整数数组
- **描述**: 包含三角剖分表面的3D对象模型的句柄。
- **解释**:- 这个参数是一个整数数组,表示包含三角剖分表面的3D对象模型的句柄。通过这些句柄,可以访问和操作三角剖分后的3D对象模型。### Information (输出控制)
- **类型**: 整数/字符串数组
- **描述**: 三角剖分过程的附加信息。
- **解释**:- 这个参数是一个包含三角剖分过程附加信息的数组。通过这些信息,可以了解三角剖分过程的详细情况。
smallest_bounding_box_object_model_3d 计算三维物体模型点周围的最小边界框
smallest_bounding_box_object_model_3d( : : ObjectModel3D, Type : Pose, Length1, Length2, Length3)
### ObjectModel3D (输入控制)
- **类型**: 整数数组
- **描述**: 3D对象模型的句柄。
- **解释**:- 这个参数是一个整数数组,表示一个或多个3D对象模型的句柄。通过这些句柄,可以访问和操作这些3D对象模型。### Type (输入控制)
- **类型**: 字符串
- **描述**: 用于估计最小包围盒的方法。
- **默认值**: 'oriented'
- **可选值**:- 'axis_aligned': 轴对齐方法。- 'oriented': 定向方法。
- **解释**:- 这个参数指定用于估计最小包围盒的方法。不同的方法会影响包围盒的计算方式。### Pose (输出控制)
- **类型**: 实数/整数数组
- **描述**: 描述生成的包围盒的位置和方向的姿态。
- **解释**:- 这个参数是一个包含姿态的数组。每个姿态描述了包围盒的位置和方向,其原点位于包围盒的中心,并且x轴与包围盒的最长边对齐。### Length1 (输出控制)
- **类型**: 实数数组
- **描述**: 包围盒的最长边的长度。
- **元素数量**: Length1 的元素数量等于 ObjectModel3D 的元素数量。
- **解释**:- 这个参数是一个实数数组,包含包围盒的最长边的长度。每个长度对应一个3D对象模型。### Length2 (输出控制)
- **类型**: 实数数组
- **描述**: 包围盒的第二长边的长度。
- **元素数量**: Length2 的元素数量等于 ObjectModel3D 的元素数量。
- **解释**:- 这个参数是一个实数数组,包含包围盒的第二长边的长度。每个长度对应一个3D对象模型。### Length3 (输出控制)
- **类型**: 实数数组
- **描述**: 包围盒的第三长边的长度。
- **元素数量**: Length3 的元素数量等于 ObjectModel3D 的元素数量。
- **解释**:- 这个参数是一个实数数组,包含包围盒的第三长边的长度。每个长度对应一个3D对象模型。