对三维物体模型的阈值操作

对三维物体模型的阈值操作

  • [1. 使用point_coord_x、point_coord_y、point_coord_z阈值分割麻辣兔头](#1. 使用point_coord_x、point_coord_y、point_coord_z阈值分割麻辣兔头)
  • [2. point_normal_x、point_normal_y、point_normal_z有什么区别?](#2. point_normal_x、point_normal_y、point_normal_z有什么区别?)
  • [3. 去除离群点](#3. 去除离群点)

1. 使用point_coord_x、point_coord_y、point_coord_z阈值分割麻辣兔头

csharp 复制代码
dev_open_window (0, 0, 500, 500, 'black', WindowHandle)
create_pose (-20, 0, 3000, 125, 0, 325, 'Rp+T', 'gba', 'point', VisPose1)

read_object_model_3d ('mvtec_bunny_normals', 'm', [], [], ObjectModel3D, Status)

visualize_object_model_3d (WindowHandle, ObjectModel3D, [], VisPose1, ['disp_pose','color','alpha'], ['true','white',1], [], [], [], PoseOut)

* 通过空间坐标系 x,y,z对点云进行分割
select_points_object_model_3d (ObjectModel3D, \
                               ['point_coord_x','point_coord_y','point_coord_z'], \
                               [0,20,-40], [60,100,20], \
                               ObjectModel3DThresholded)

visualize_object_model_3d (WindowHandle, ObjectModel3DThresholded, [], VisPose1, \
                           ['disp_pose','color','alpha'], ['true','red',1], [], [], [], PoseOut)


2. point_normal_x、point_normal_y、point_normal_z有什么区别?

  • point_normal_x:三维点集的三维点法线的 x 分量
  • point_normal_y:三维点集的三维点法线的 y 分量
  • point_normal_z:三维点集的三维点法线的 z 分量
  • 这种方式更容易分割同一个面上的点
csharp 复制代码
* 通过法线分量对点云进行分割
select_points_object_model_3d (ObjectModel3D, \
                               ['point_normal_x','point_normal_y','point_normal_z'], \
                               [-0.5,-1,-1], [0.5,1,1], \
                               ObjectModel3DThresholded)

3. 去除离群点

  • 在距离至多为 X 的范围内的邻居数量。它可用于去除三维物体模型中分布稀疏的部分,比如离群点或在三维表面之间进行平滑处理时产生的点。
  • num_neighbors X
  • num_neighbors_fast X
csharp 复制代码
dev_close_window ()
dev_open_window (0, 0, 800, 800, 'gray', WindowHandle)

read_object_model_3d ('plant', 'm', [], [], Plant, Status)

select_points_object_model_3d (Plant, 'point_coord_z', 0, 0.607, ObjectModel3DThresholded)
select_points_object_model_3d (ObjectModel3DThresholded, 'num_neighbors_fast 0.01', 100, 1e+10, PlantThresholded)

PoseVis := [0.434603,-0.334464,2.41924,255.878,304.461,240.131,0]
visualize_object_model_3d (WindowHandle, PlantThresholded, [], PoseVis, ['intensity_red','intensity_green','intensity_blue','disp_pose'], ['coord_x','coord_y','coord_z','true'], 'Plant', [], [], PoseOut)
相关推荐
仙贝大饼11 天前
C#Halcon从零开发_Day14_AOI缺陷检测策略1_Bolb分析+特征分析_饼干破损检测
c#·缺陷检测·halcon·机器视觉·aoi
张鱼小丸子_微辣12 天前
Halcon/C# 图像窗口、读取图片及仿射变换
c#·halcon
lingxiao1688814 天前
管件接头的无序抓取
机器学习·计算机视觉·halcon·3d视觉
机器视觉知识推荐、就业指导15 天前
Qt联合Halcon开发一:Qt配置Halcon环境【详细图解流程】
开发语言·qt·halcon
lingxiao1688822 天前
对3D对象进行形变分析
计算机视觉·halcon·3d视觉·3d表面匹配·3d变形的表面匹配
码小跳22 天前
Halcon案例(三):C#联合Halcon识别排线
计算机视觉·c#·halcon
栗克25 天前
Halcon 图像预处理②
人工智能·计算机视觉·halcon
栗克1 个月前
halcon 透视矩阵
计算机视觉·halcon
一杯解心烦1 个月前
Halcon透视矩阵
矩阵·halcon
LeonDL1681 个月前
HALCON 深度学习训练 3D 图像的几种方式优缺点
人工智能·python·深度学习·3d·halcon·halcon训练3d图像·深度学习训练3d图像