PCL提供了将点云值保存到PNG图像文件的可能性。显然,这只能通过组织云完成,因为所得图像的行和列将完全对应于云中的行。例如,如果你有一个点云从像Kinect或Xtiion等传感器获取的点云(pcd格式),则可以使用它来检索与云匹配的640x480 RGB图像。代码如下:
#include <pcl/io/pcd_io.h>
#include <pcl/io/png_io.h>
int
main(int argc, char** argv)
{
// Object for storing the point cloud.
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>);
// Read a PCD file from disk.
if (pcl::io::loadPCDFile<pcl::PointXYZRGB>(argv[1], *cloud) != 0)
{
return -1;
}
// Save the image (cloud must be organized).
pcl::io::savePNGFile("output.png", *cloud, "rgb");
}