C++ 使用pcl 把pcd点云文件转为图片形式,没有rgb,有intensity的值
时间: 2024-03-12 13:50:12 浏览: 22
你可以使用PCL库中的可视化模块来将pcd点云文件转换为图片形式,并将点的intensity值当做灰度值进行显示。以下是一个基本的示例代码:
```c++
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/cloud_viewer.h>
int main (int argc, char** argv)
{
// 加载pcd文件
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZI>);
pcl::io::loadPCDFile<pcl::PointXYZI> ("input.pcd", *cloud);
// 创建可视化窗口并添加点云
pcl::visualization::CloudViewer viewer ("Simple Cloud Viewer");
viewer.showCloud (cloud);
// 进入主循环,直到窗口被关闭
while (!viewer.wasStopped ())
{
}
return 0;
}
```
在这个示例代码中,我们通过`pcl::io::loadPCDFile`函数从文件中加载点云,并将点云的类型设置为`pcl::PointXYZI`,表示每个点包含intensity值。然后,我们使用`pcl::visualization::CloudViewer`类创建一个可视化窗口,并通过`viewer.showCloud`方法将点云添加到窗口中进行显示。在窗口中,点的intensity值将被当做灰度值进行显示。最后,我们进入一个主循环,等待窗口被关闭。
阅读全文