需要把PCL的点云格式转换成tiff格式的图片。
一、第一种转换函数
主要思路:
- 使用了libtiff库,来写tiff格式
- 把点云的x,y,z通道转换成tiff格式图片的三通道。
- 所以后续读取tiff格式图片转换成点云时,注意三通道代表x,y,z的顺序
- 写tiff格式的时候就是设置文件头,然后把数据一个字节一个字节的写进去
函数说明:
- pointcloud2tiff()是主要的转换函数,把PCL的点云数据cloud,写到filename文件中去
- main()写了调用示例,读取"test_tif.ply"点云文件,转换成tiff格式,写到"test.tif"文件中去
#include <iostream>
#include <pcl/io/ply_io.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <string>
#include "tiffio.h"using namespace std;void pointcloud2tiff(const pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud, const std::string filename)
{TIFF *out = TIFFOpen(filename.c_str(), "w