繁体   English   中英

将3D点云转换为范围图像

[英]Converting 3D point clouds to range image

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点转换为Range图像?

整个点约为18万,我想要870 * 64范围的图像。

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM