网站如何实现临时聊天,qq网页版输入账号登录,佛山出格建站,赣州网站建设案例一、基本概念
1、点云#xff08;Point Cloud#xff09;
点云是一组3D数据点#xff0c;每个点由笛卡尔坐标系或其他坐标系中的一个三维坐标表示#xff0c;它被认为是一组非结构化的三维点#xff0c;象征着三维物体的几何形状。点云是一种简单、完整的数据结构#…一、基本概念
1、点云Point Cloud
点云是一组3D数据点每个点由笛卡尔坐标系或其他坐标系中的一个三维坐标表示它被认为是一组非结构化的三维点象征着三维物体的几何形状。点云是一种简单、完整的数据结构消除了网格数据的复杂性。
2、位姿(Pose)
Halcon中的Pose是一个7参数元组表示3D平移和旋转的组合。它可以描述一个坐标系相对于另一个坐标系的位置和方向或者用于在不同坐标系间转换点坐标。Pose通过齐次变换矩阵实现刚性变换。一个pose是具有7个参数的元组3个参数描述平移TransX、TransY、TransZ3个参数描述旋转RotX、RotY、RotZ。最后一个参数确定了平移和旋转的顺序以及旋转的方向。
3、深度图Depth Map
深度图就是从图像采集器到场景中各点的距离深度作为像素值的图像。像素值表示深度 深度图的每个像素值代表场景中该点到摄像头或传感器的距离通常用灰度值来表示。较亮的像素表示较近的物体而较暗的像素则表示较远的物体。深度值可以是以毫米、米等单位测量的实际距离或是相机坐标系中的相对距离。
相对深度在某些情况下深度图并不提供场景中物体的实际物理距离而是提供一种相对深度信息即物体间的相对远近。绝对深度这种深度图包含物体到传感器的真实物理距离这对机器人导航、3D建模等精确应用至关重要。
深度图通常是单通道图像不包含颜色信息。每个像素的值是一个浮点数或整数代表场景中的深度。与RGB图像相比深度图通常更强调几何信息而非视觉纹理。
视角和投影 深度图反映的是从摄像机或传感器视角下的距离因此它通常依赖于特定的相机模型。不同视角或摄像机位置会产生不同的深度图。相机内参如焦距、光心位置和外参相机在空间中的位置和方向都会影响深度图的生成。
二、Halcon 3D基础函数
1read_object_model_3d
功能从文件读取一个3d模型。
参数说明read_object_model_3d( : : FileName, Scale, GenParamName, GenParamValue : ObjectModel3D, Status) FileName要读取的点云文件名 Scale文件中数据的缩放因子 ObjModel3D输出 3D对象模型句柄; Status输出状态信息;
2visualize_object_model_3d
功能用于显示3d模型。该函数功能很多包括设置位姿颜色鼠标翻转、缩放、平移选择和取消选择目标降低鼠标灵敏度切换检查模式等。
参数说明visualize_object_model_3d( : : WindowHandle, ObjectModel3D, CamParam, PoseIn, GenParamName, GenParamValue, Title, Label, Information : PoseOut)
WindowHandle窗体句柄。 ObjectModel3D3d模型。
CamParam相机参数 PoseIn初始位姿。 PoseOut用户调整模型姿态后输出这个3d姿态。
3surface_normals_object_model_3d
功能用于计算三维物体模型的三维曲面法线。
参数说明surface_normals_object_model_3d( : : ObjectModel3D, Method, GenParamName, GenParamValue : ObjectModel3DNormals)
: : ObjectModel3D包含3D点数据的3D对象模型句柄。 Method法线计算方法。默认值:‘mls’。 GenParamName一般平滑参数的名称。值列表:‘mls_abs_sigma’ ‘mls_force_inwards’ ‘mls_kNN’ ‘mls_order’ ‘mls_relative_sigma’。
GenParamValue 一般平滑参数的值。。 ObjectModel3DNormals具有计算出的三维法线的三维对象模型的句柄。
4smooth_object_model_3d
功能用于平滑3D对象模型的3D点。
参数说明smooth_object_model_3d( : : ObjectModel3D, Method, GenParamName, GenParamValue : SmoothObjectModel3D)
: : ObjectModel3D包含3D点数据的3D对象模型句柄。 Method法线计算方法。默认值:‘mls’。 GenParamName一般平滑参数的名称。值列表“ mls_abs_sigma”“ mls_force_inwards”“ mls_kNN”“ mls_order”“ mls_relative_sigma”
SmoothObjectModel3D带有光滑的三维点数据的三维对象模型的句柄。
5triangulate_object_model_3d
功能为三维对象模型创建曲面三角剖分。
参数说明triangulate_object_model_3d( : : ObjectModel3D, Method, GenParamName, GenParamValue : TriangulatedObjectModel3D, Information)
: : ObjectModel3D包含3D点数据的3D对象模型句柄。 Method三角化方法。包括greedy, implicit, polygon_triangulation, xyz_mapping GenParamName 三角化参数名称。 GenParamValue三角化参数值。
TriangulatedObjectModel3D三角化处理后的3D模型
Information三角化过程的其他信息。
6create_surface_model
功能用于创建3D对象模型的表面匹配模型。内容涉及模型创建、参数设置、采样距离、边缘支持、基于视图的分数计算以及对噪声数据的处理强调了法线方向和模型质量对匹配稳定性的影响。
参数说明create_surface_model( : : ObjectModel3D, RelSamplingDistance, GenParamName, GenParamValue : SurfaceModelID)
: : ObjectModel3D包含3D点数据的3D对象模型句柄。
RelSamplingDistance:相对于物体直径的采样距离。
GenParamName通用参数的名称。
GenParamValue通用参数的值。
SurfaceModelID表面模型的句柄。
7create_pose
功能创建3D位姿
参数说明create_pose( : : TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform, OrderOfRotation, ViewOfTransform : Pose)
: : TransX, TransY, TransZ指定沿x轴y轴和z轴的平移
RotX, RotY, RotZ指定绕x轴y轴和z轴的旋转
OrderOfTransform选择平移方式。
OrderOfRotation选择旋转方式。
ViewOfTransform变换的视角。
Pose三维姿态。输出为一个包含7个元素的 pose通常表示为 [Tx, Ty, Tz, Rx, Ry, Rz, Order]其中 Tx, Ty, Tz 为平移分量Rx, Ry, Rz 为旋转分量Order 为旋转顺序。
8gen_plane_object_model_3d
功能创建表示平面的三维对象模型
参数说明gen_plane_object_model_3d( : : Pose, XExtent, YExtent : ObjectModel3D)
: : Pose平面的位姿输入平面的中心和旋转元素数量 Pose 7
XExtent指定平面范围的x坐标
YExtent: 指定平面范围y坐标
ObjectModel3D3D模型结果
9intersect_plane_object_model_3d
功能将三维对象模型与平面相交。
参数说明intersect_plane_object_model_3d( : : ObjectModel3D, Plane : ObjectModel3DIntersection)
: : ObjectModel3D三维对象模型
Plane 带姿态的平面
ObjectModel3DIntersection: 将交点描述为一组线的三维对象模型的句柄。