PCL-点云读入

该博客介绍了如何使用Point Cloud Library (PCL) 在C++中读取PCD点云文件。通过示例代码展示了从头文件包含到点云数据的读取和打印过程,以及CMakeLists.txt配置。项目构建流程包括创建构建目录、执行cmake和make,最终运行生成的可执行文件展示点云数据。
摘要由CSDN通过智能技术生成

1.pcl点云读入代码

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>  // 里面是pcl库点云的数据类型

int
main(int argc,char** argv)
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);  // 建立一个点云指针


// 判断这个文件存不存在,条件里面是让这个指针指向这个点云数据
if(pcl::io::loadPCDFile<pcl::PointXYZ>("/home/zyh/3dshijue/3/IO/1readingpcd/source/test_pcd.pcd",*cloud)==-1)
{
PCL_ERROR("Couldn't read file test_pcd.pcd\n");
return(-1);
}
// 打印点云文件里面的点云数量信息
std::cout<<"Loaded "
<<cloud->width*cloud->height
<<cloud->width
<<cloud->height
<<" data points from test_pcd.pcd with the following fields: "
<<std::endl;
// 打印每一个点的xyz坐标
for(size_t i=0;i<cloud->points.size();++i)
std::cout<<"    "<<cloud->points[i].x
<<" "<<cloud->points[i].y
<<" "<<cloud->points[i].z<<std::endl;

return(0);
}

2.工程架构

项目内部架构

3.项目每一部分里面的内容
(1).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})

(2)pcd_read.cpp代码在第一部分
(3)test_pcd.pcd:点云数据

# .PCD v0.7 - Point Cloud Data file format
VERSION 0.7
FIELDS x y z
SIZE 4 4 4
TYPE F F F
COUNT 1 1 1
WIDTH 5
HEIGHT 1
VIEWPOINT 0 0 0 1 0 0 0
POINTS 5
DATA ascii
1.28125 577.09375 197.9375
828.125 599.03125 491.375
358.6875 917.4375 842.5625
764.5 178.28125 879.53125
727.53125 525.84375 311.28125

4.项目构建流程
(1)在source下mkdir build

mkdir build

(2)在build里面cmake…

cmake..

(3) 在build里面make

make

(4)直接运行build里面编译好的项目:./pcd_read

./pcd_read
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值