PCL 加载自己的点云数据集并显示出来

建立一个文件夹pclfirst
在pclfirst文件夹下建立pclfirst.cpp,写入

/* 任何点云格式均可,不要求点云带有RGB字段 */
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/io/ply_io.h>
#include<pcl/io/pcd_io.h>//pcd 读写类相关的头文件。
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/io/io.h>

using namespace std;
using namespace pcl;
using namespace io;

int main() {
   
    PointCloud<PointXYZ>::Ptr cloud(new PointCloud<PointXYZ>);
    char strfilepath[256] = "/home/tianchengyuan/exercise/pclfirst/twoDroneLocalization.pcd";//将自己的点云数据集的路径放在这里就可以了,我这里是一个校使馆的点云集
    if (-1 == io::loadPCDFile(strfilepath, *cloud)) {
    // 读取.pcd文件
        cerr << "can't read file bunny.pcd" << endl;//如果未找到
        return -1;
    }
    boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
    
    pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color(cloud, 0,205,205 ); // green
    
    viewer->addPointCloud<pcl::PointXYZ>(cloud, single_color, "sample cloud");

    while (!viewer->wasStopped())
    {
   
        viewer->spinOnce(100);
        boost::this_thread::sleep(boost::posix_time::microseconds(100000));
    }
    return 0;
}

在pclfirst文件夹下建立配置文件CMakeLists.txt,写入:

cmake_minimum_required(VERSION 2.6)
project(pclfirst)
 
find_package(PCL 1.2 REQUIRED)
 
include_directories(${
   PCL_INCLUDE_DIRS})
link_directories(${
   PCL_LIBRARY_DIRS})
add_definitions(${
   PCL_DEFINITIONS})
 
add_executable(pclfirst pclfirst.cpp)
 
target_link_libraries (pclfirst ${
   PCL_LIBRARIES})
 
install(TARGETS pclfirst RUNTIME DESTINATION bin)

然后再在pclfirst文件夹下建一个build文件夹。
开始编译:
1、在build文件夹中打开终端(在文件夹下右键+T)
2、终端输入

cmake ..

3、终端输入

make

4、终端输入

./pclfirst

在这里插入图片描述

至此,显示成功!

张贴在2