las2pcd.cpp如下:
#include <iostream>
#include <cstdlib>
#include <liblas/liblas.hpp>//liblas tou wen jin
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <liblas/reader.hpp>
#include <liblas/factory.hpp>
#include <liblas/detail/fwd.hpp>
#include <liblas/point.hpp>
using namespace std;
int main (int argc, char** argv)
{
std::ifstream ifs(argv[1], std::ios::in | std::ios::binary); // 打开las文件
liblas::ReaderFactory f;
liblas::Reader reader = f.CreateWithStream(ifs); // 读取las文件
unsigned long int nbPoints=reader.GetHeader().GetPointRecordsCount();//获取las数据点的个数
pcl::PointCloud<pcl::PointXYZRGB> cloud;
cloud.width = nbPoints; //保证与las数据点的个数一致
cloud.height = 1;
cloud.is_dense = false;
cloud.points.resize (cloud.width * cloud.height);
int i=0;
uint16_t r1, g1, b1;
int r2, g2, b2;
uint32_t rgb;