【发布时间】:2021-02-10 02:06:30
【问题描述】:
我正在处理一个使用 .las 激光雷达文件的项目。
我google了一下,发现可以用PDAL把.las转成.pcd文件,这样就可以使用PCL库了。
我使用 PDAL 将文件从 .las 转换为 .pcd。
当我尝试使用以下代码读取 pcd 文件时:
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
if (pcl::io::loadPCDFile<pcl::PointXYZ>("C:/Users/hedey/OneDrive/Documents/Research_papers/STDF/10_4231_MFQF-Q141/I-65/LiDAR/RoadSurface/PCD/20180524_I65_NB_RoadSurface_7_53.5.pcd", *cloud) == -1) //* load the file
{
PCL_ERROR("Couldn't read file test_pcd.pcd \n");
return (-1);
}
std::cout << "Loaded "
<< cloud->width * cloud->height
<< " data points from test_pcd.pcd with the following fields: "
<< std::endl;
for (const auto& point : *cloud)
std::cout << " " << point.x
<< " " << point.y
<< " " << point.z << std::endl;
return (0);
【问题讨论】:
-
如果您使用的是点云,我不能推荐 CloudCompare。尝试使用它来加载 .las 文件,您也可以使用它来导出。也许它可以在调试过程中为您提供帮助
-
但是,正如以下链接中突出显示的那样,从 .las 转换为 .pcd 不会保留原始坐标:danielgm.net/cc/forum/viewtopic.php?t=3805、danielgm.net/cc/forum/viewtopic.php?t=2001
-
我明白了,很有趣。是否可以使 .las 文件可用,以便我看一下?你的 pcl 代码对我来说似乎很好。
-
感谢您的帮助和支持。 las 文件可在此处获得:dropbox.com/s/p0vkfjb8q25ee07/…
-
感谢您的 las 文件。我忘了问,你能不能也上传你转换后的 .pcd 文件?
标签: c++ point-cloud-library las