读取PCD文件
可以使用pcd_write
中生成的test_pcd.pcd
代码
1、pcd_read.cpp
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
int
main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
if (pcl::io::loadPCDFile<pcl::PointXYZ> ("test_pcd.pcd", *cloud) == -1) //* load the file
{
PCL_ERROR ("Couldn't read file test_pcd.pcd \n");
return (-1);
}
std::cout << "Loaded "
<< cloud->width * cloud->height
<< " data points from test_pcd.pcd with the following fields: "
<< std::endl;
for (std::size_t i = 0; i < cloud->points.size (); ++i)
std::cout << " " << (*cloud)[i].x
<< " " << (*cloud)[i].y
<< " " << (*cloud)[i].z << std::endl;
return (0);
}
2、CMakeLists.txt
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(pcd_read)
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (pcd_read pcd_read.cpp)
target_link_libraries (pcd_read ${PCL_LIBRARIES})
编译运行
mkdir build
cd build/
cmake …
make
./pcd_read
编译报错
1、运行报错
[pcl::PCDReader::readHeader] Could not find file 'test_pcd.pcd'.
Couldn't read file test_pcd.pcd
解决方法
将test_pcd.pcd
放入build文件夹或者完善pcd_read
中的文件读取路径