点云.ply格式转存为.pcd格式

目录

一、基础知识

(1)什么是点云

(2).ply格式点云文件简介

(2).pcd格式点云文件简介

二、代码

三、参考链接


一、基础知识

(1)什么是点云

点云数据(point cloud data)是指在一个三维坐标系统中的一组向量的集合。

扫描资料以点的形式记录,每一个点包含有三维坐标,有些可能含有颜色信息(RGB)或反射强度信息(Intensity)。

点云数据除了具有几何位置以外,有的还有颜色信息。颜色信息通常是通过相机获取彩色影像,然后将对应位置的像素的颜色信息(RGB)赋予点云中对应的点。强度信息的获取是激光扫描仪接收装置采集到的回波强度,此强度信息与目标的表面材质、粗糙度、入射角方向,以及仪器的发射能量,激光波长有关。

(2).ply格式点云文件简介

ply文件是由文件头和数据区两部分组成,文件头记录的是点云文件中的注释、元素类别和属性,以ply开头,以end header结尾。

format之后,是文件的编码方式和版本,编码方式有ascii、binary_little_endian 、binary_big_endian。

comment之后,制作者可以添加一些作者信息,点云基本信息。

element之后,element元素信息包括种类、个数,ply文件中的元素一般包括顶点(vertex)、面(face)、边(edge)等。

property之后,property属性信息包括属性字段的存储类型和属性名。

(2).pcd格式点云文件简介

VERSION 0.7,指定pcd文件的版本。 

FIELDS,指定每个点可以具有的维度,以及每个维度所代表的含义。 例如:FIELDS x y z r g b表示该点的位置信息(x,y,z),颜色信息(r,g,b)。

SIZE,以字节为单位指定每个数据所占用的内存。

TYPE, 指定每个数据的数据类型,I:可表示int8,int16,int32,U:可表示uint8,unit16,uint32,F:表示float

COUNT, 指定每个维度有多少元素,例如xyz数据通常只有一个元素。

指定每个维度有多少元素,例如xyz数据通常只有一个元素。

WIDTH,指定数据点的宽度,它包含两个含义: 1.可指定点云总个数(与POINTS相同),用于无组织的数据, 2.可指定有组织点云数据的宽度(连续点的总数)。

HEIGTH,指定数据点的高度,它包含两个含义:1.可指定有组织的点云数据的高度(总行数), 2.对未组织的数据,它被设置为1。

POINTS,指定点云总个数。

VIEWPOINT,采集数据时的视点(由平移tx,ty,tz和四元数qw,qx,qy,qz组成)。

DATA,点云数据存储的数据类型(支持ascii和binary)。

二、代码

#include <pcl/io/ply_io.h>
#include <pcl/io/pcd_io.h>

int main(int argc, char** argv)
{
	pcl::PCLPointCloud2 cloud;
	//加载ply文件
	pcl::PLYReader reader;
	reader.read("D://codes//PCL//PCL//point_data//pointcloud_1.ply", cloud);
	//将ply文件保存为pcd文件
	pcl::PCDWriter writer;
	writer.write("D://codes//PCL//PCL//point_data//person_middle_a.pcd", cloud);

	return 0;
}

三、参考链接

(1)点云数据pcd文件简介_靠谱成年人的博客-CSDN博客_点云pcd 是什么坐标系

(2)ply las pcd等一些常见的基本点云文件格式的读写方法_zmsdbl的博客-CSDN博客_pcd文件读取及查看

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值