安装方式:在线安装
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-dev # 或 libpcl-all
下载时间较长,耐心等待。
文件结构如下图所示:
操作步骤如下图所示:
生成可执行文件pcd_write,如红框所示。
验证:
编辑源码:
// 创建文件夹
mkdir PCL
// 进入文件夹
cd PCL/
// 创建cpp文件并编辑
vim pcl_write.cpp
将代码复制进pcl_write.cpp
#include<iostream>
#include<pcl/io/pcd_io.h>
#include<pcl/point_types.h>
int
main()
{
pcl::PointCloud<pcl::PointXYZ> cloud;
// fill in the cloud data
cloud.width = 5;
cloud.height = 1;
cloud.is_dense = false;
cloud.resize(cloud.width * cloud.height);
for (auto& point : cloud)
{
point.x = 1024 * rand() / (RAND_MAX + 1.0f);
point.y = 1024 * rand() / (RAND_MAX + 1.0f);
point.z = 1024 * rand() / (RAND_MAX + 1.0f);
}
pcl::io::savePCDFileASCII("test_pcd.pcd", cloud);
std::cerr << "Saved" << cloud.size() << "data points to test_pcd.pcd" << std::endl;
for (const auto& point : cloud)
std::cerr << " " << point.x << " " << point.y << " " << point.z << std::endl;
// int i = 1;
// for (i = 1; i < 5; i++)
// {
//
// std::cerr << cloud.points[i].x << " " << cloud.points[i].y << " " <<
cloud.points[i].z << std::endl;
// }
return(0);
}
编辑CMakeLists.txt:
// 创建CMakeLists.txt文件并编辑
vim CMakeLists.txt
将以下内容复制进CMakeLists.txt
project(pcd_write)
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (pcd_write pcd_write.cpp)
target_link_libraries (pcd_write ${PCL_LIBRARIES})
创建build并编译:
// 创建build文件夹并编译
mkdir build
cd build
cmake ..
结果如下:
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi0204/PCL/build
make编译:
Scanning dependencies of target pcd_write
[ 50%] Building CXX object CMakeFiles/pcd_write.dir/pcd_write.cpp.o
[100%] Linking CXX executable pcd_write
[100%] Built target pcd_write
执行可执行文件:
./pcd_write
结果如下图所示:
安装成功!