美文网首页
提取pcd格式文件中的位置、颜色、法向量信息(python+op

提取pcd格式文件中的位置、颜色、法向量信息(python+op

作者: 小黄不头秃 | 来源:发表于2024-03-06 09:15 被阅读0次

首先了解一下什么是PCD格式的文件,PCD(Point Cloud Data) 文件是 PCL(Point Cloud Library) 引入的一种新的描述点云的格式。让我详细介绍一下 PCD 文件的结构和内容。

(1)文件头部:

  • 每个 PCD 文件都包含一个文件头,用于标识并声明存储在文件中的点云数据的一些特性。
  • PCD 文件头必须以 ASCII 编码表示。
  • 文件头的每个字段以及 ASCII 点数据都使用 新行(\n) 分隔。

(2)PCD 文件头的字段:

下面是 PCD 文件头的一些字段,按照指定的顺序精确指定:

  • VERSION:指定 PCD 文件版本,目前 PCL 支持的版本为 0.7。
  • FIELDS:指定点具有的维度或字段的名称,例如 x、y、z 坐标、法线、颜色等。
  • SIZE:指定每个维度的大小(以字节为单位)。
  • TYPE:将每个维度的类型指定为一个字符,例如 F(浮点型)、U(无符号整型)等。
  • COUNT:指定每个维度有多少个元素,通常为 1。
  • WIDTH:以点数为单位指定点云的宽度,即点的数量。
  • HEIGHT:有组织的点云数据集的高度,即扫描线数。
  • VIEWPOINT:为数据集中的点指定采集视点,用于构建不同坐标系之间的变换或处理需要一致方向的特征,如曲面法线。
  • POINTS:指定云中的点总数。
  • DATA:指定存储点云数据的数据类型,支持三种类型:ascii、binary 和 binary_compressed。

(3)优势:

  • PCD 文件格式相对于其他文件格式的优势包括:
  • 存储和处理有组织的点云数据集的能力,对于实时应用和增强现实、机器人等研究领域至关重要。
  • 二进制/数据类型是将数据加载和保存到磁盘的最快方法。
  • 存储不同的数据类型允许点云数据在存储和处理方面灵活高效。
  • 特征描述符的 n-D 直方图对于 3D 感知/计算机视觉应用非常重要。

(4)代码示例

import open3d as o3d

# 提取三维模型的信息
def extract_info_to_nparray(pcd):
    data = {}
    data["points"] = np.asarray(pcd.points) 
    data["colors"] = np.asarray(pcd.colors) 
    data["normals"] = np.asarray(pcd.normals) 
    return data 

if __name__ =="__main__":
    # demo_icp_pcds = o3d.data.DemoICPPointClouds()
    # source = o3d.t.io.read_point_cloud(demo_icp_pcds.paths[0])
    # target = o3d.t.io.read_point_cloud(demo_icp_pcds.paths[1])

    source = o3d.io.read_point_cloud("./data/output.pcd")
    target = o3d.io.read_point_cloud("./data/cloud_bin_1.pcd")

    print(extract_info_to_nparray(target))

官网关于点云类型的数据的API:https://www.open3d.org/docs/release/python_api/open3d.geometry.PointCloud.html

相关文章

  • 学习小组day5笔记-蒋1xu

    今天的主要内容是向量、数据框、以及如何提取内容 向量 生成向量 提取向量中的元素2.1 根据位置2.2 根据逻辑 ...

  • CG

    顶点着色器:顶点着色器从GPU前段模块(寄存器)中提取图元信息(顶点位置,法向量,纹理坐标),并完成顶点坐标控件转...

  • 学习小组Day5——是路小雨鸭

    Vector以及从向量中提取元素 元素:可以是数字或chr标量:一个元素向量:多个元素元素提取:可以根据其位置或者...

  • OpenGL ES学习之路(8.1) 光照案例

    实现效果 实现目的 本案例主要实现绘制金字塔,并显示法向量位置和颜色和光源颜色 源码分析 首先新建OPenGL E...

  • Day5-庚帅博方便面

    向量 向量赋值 查看变量 View(变量名) 从向量中提取元素 根据位置 根据值 以上返回的都是符合相应条件的元素...

  • 学习小组day5笔记---zzz

    part1:向量1 向量 2.从向量中提取元素(1)根据元素位置 (1)读取本地数据 part3 保存脚本

  • 生信星球Day5

    一、标量和向量 向量含有多个元素 二、从向量中提取元素 根据元素位置 如x[1:3], x[-2] 根据值x[x>...

  • Day 5 - Alex 2020-07-07

    Part 1 向量 标量:一个元素组成的变量 向量:多个元素组成的变量 从向量中提取元素 根据元素位置 根据值 P...

  • 学习小组—豹—Day5

    向量 向量:多个元素 标量: 一个元素 提取向量的方法 根据元素位置 根据值 数据框 读取文件 设置行名和列名 数...

  • 学习小组Day5笔记-小晶

    数据结构 向量:元素:数字或字符串 标量(一个元素) 向量(多个元素) 从向量提取元素: 元素位置 x[4] #x...

网友评论

      本文标题:提取pcd格式文件中的位置、颜色、法向量信息(python+op

      本文链接:https://www.haomeiwen.com/subject/ywsdzdtx.html