【问题标题】:Converting 3D point clouds to range image将 3D 点云转换为范围图像
【发布时间】:2013-03-28 04:51:07
【问题描述】:

我有许多由 velodyne 传感器收集的 3D 点云。 eg(x, y, z) 以米为单位。

我想将 3D 点云转换为距离图像。

首先,我得到了从卡氏坐标到球坐标的转换。

r = sqrt(x*x + y*y + z*z)
azimuth angle = atan2(x, z)
elevation angle = asin(y/r)

现在。如何在 matlab 中使用这些转换将 3D 点转换为范围图像?

整数大约是 180,000,我想要 870*64 范围的图像。

方位角范围(-180 ~ 180),仰角范围(-15 ~ 15)

【问题讨论】:

    标签: matlab 3d 2d projection point-clouds


    【解决方案1】:

    将您的方位角和仰角分别划分为 M 和 N 范围。现在你有 M*N 个“箱子”(M = 870,N = 64)。

    然后(每个 bin)累积投射到该 bin 中的点的直方图。

    最后,从每个 bin 中为最终范围图像选择一个代表值。您可以选择平均值(嘈杂,快速)或拟合某个分布,然后使用它来选择值(更精确,慢)。

    【讨论】:

      【解决方案2】:

      Matlab File Exchange 提供的pointcloud2image 代码可以帮助您将点云(x,y,z 格式)直接转换为 2D 光栅图像。

      【讨论】:

        猜你喜欢
        • 2021-04-13
        • 1970-01-01
        • 1970-01-01
        • 2016-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-08
        • 2020-12-11
        相关资源
        最近更新 更多