0

我有许多 velodyne 传感器收集的 3D 点云。例如(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)

4

2 回答 2

2

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

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

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

于 2013-03-28T07:41:31.157 回答
-1

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

于 2016-01-22T19:25:49.190 回答