建立一个文件夹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
至此,显示成功!
2020.12.20
今天发现来更加简单的方法:
可用pcl_viewer 查看:
pcl_viewer xxxx.pcd #xxxx.pcd 为文件名