PCL库之00base

CMakeLists.txt文件

参考PCL官网
CMakeLists.txt文件包含以下信息:
1、cmake_minimum_required(VERSION 2.6)
cmake是2.6版本的
2、下面信息中的t1,表示文件名
3、CMakeLists.txt文件是个模板,一般情况下,只需要更改cmake的版本信息和文件名t1

cmake_minimum_required(VERSION 2.6)
project(t1)


find_package(PCL 1.2 REQUIRED)

# 包含头文件目录
include_directories(${PCL_INCLUDE_DIRS})

# 设置依赖库链接目录
link_directories(${PCL_LIBRARY_DIRS})

#添加预处理器和编译器标记
add_definitions(${PCL_DEFINITIONS})

add_executable(t1 t1.cpp)

target_link_libraries (t1 ${PCL_LIBRARIES})

名为t1的.cpp文件

参考这篇学习路径

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
 
int main(int argc,char**argv)
{
	// 创建点云
	pcl::PointCloud<pcl::PointXYZ> cloud;
	
	//对于无序点云,它将表示点云中点的个数
	//对于有序点云,表示有序点云的一行点的总数
	cloud.width=5;
	
	//对于无序点云,它将被设置为1
	//对于有序点云,表示有序点云的行的总数
	cloud.height=1;
	cloud.is_dense=false;//不存在无效点(NaN点)
	
	//修改点云的大小
	cloud.points.resize(cloud.width*cloud.height);
	
	for(size_t i=0;i<cloud.points.size();++i)
	{
		cloud.points[i].x=1024*rand()/(RAND_MAX+1.0f);
		cloud.points[i].y=1024*rand()/(RAND_MAX+1.0f);
		cloud.points[i].z=1024*rand()/(RAND_MAX+1.0f);//随机生成点云
	}
	
	//以ASCII形式存储名为test_pcd的pcd文件
	pcl::io::savePCDFileASCII("test_pcd.pcd",cloud);
	std::cerr<<"Saved "<<cloud.points.size()<<" data points to test_pcd.pcd."<<std::endl;
	
	//依次输出点云数据
	for(size_t i=0;i<cloud.points.size();++i)
		std::cerr<<"    "<<cloud.points[i].x<<" "<<cloud.points[i].y<<" "<<cloud.points[i].z<<std::endl;
	
	return(0);
}

在Ubuntu里是这样的

在这里插入图片描述

在编写完CMakeLists.txt和t1.cpp文件后,新建一个名为build的文件夹,然后在build里输入cmake … 和make,成功后输入./t1 以运行。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值