从英特尔 实感深度摄像头将英特尔 实感点云转换为 PCL 英特尔® 实感™云
我想将点云数据从摄像头英特尔® 实感™ PCD 格式,这是 PCL(点云库)中的常规格式
该英特尔® 实感™ SDK 2.0 附带了点云示例程序,但它适用于 C++,大多数示例也一样。 但是,查看少量 C# 样本的代码,他们的脚本在标题#includes(C#中不强制的一些内容)。 因此,C++ 点云代码可能并不难转换为 C# 脚本。
在 C# 脚本中尝试 C++ 代码,看看您收到多少错误(如果有)并从现在开始工作。
librealsense/示例/pointcloud 在 master ·英特尔®RealSense/librealsense ·GitHub
为比较实感 SDK 2.0 中的 C++ 代码与 C# ,可以看到此页面中列出的两种类型的示例:
librealsense/示例在大师 ·英特尔®RealSense/librealsense ·GitHub
现在,在 PointCloud 类为 C# 调整之前,一个选项是获取摄像头内部属性(如果使用原始深度时,为深度摄像头;如果使用颜色对齐的深度,则用于彩色摄像头),并执行针孔摄像头模型(这是 PointCloud 类在内部执行哪些工作)。从摄像头获得的本质,ppx 和 ppy 在链接中camera_principle_point_x和 y,fx &fy 是camera_focal_length_x和 y。
您需要在深度图像中循环每个像素,获取深度值(最高效的是通过深度数据指针),将其乘以深度缩放,并应用链接中给定的 x_3D 和 y_3D 公式。
如果有人阅读此文并搞错,C# 当前(大部分)受支持。
此处为计算点云在内部使用的方法。
支持 PCGB 英特尔 实感的 PCL 包装器
https://github.com/eMrazSVK/JetsonSLAM/blob/master/pcl_testing.cpp