2013-03-28 54 views
0

我有许多由velodyne传感器收集的3D点云。如米(x,y,z)。将3D点云转换为距离图像

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

首先,我已经从Catesian转换为球坐标。

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)

回答

2

分配广告的方位角和仰角为M和N分别取值范围。现在你有M * N个“箱”(M = 870,N = 64)。

然后(每个箱)累计投影到该箱中的点的直方图。

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

-1

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