点云学习---入门

2023-11-02

1.点云数据格式

常见的点云格式包括:

*.las:用于激光雷达点云及其他任何三维xyz元组,是一种用于交换三维点数据的公共文件格式。文件主要由4部分组成,包括公共头块(包含版本号、缩放因子、偏移值、时间、范围等),变长记录(包含变长类型数据、坐标投影信息和用户信息等),点数据记录(包括三维坐标、回波、强度、扫描角度、分类、飞行航带、飞行姿态、GPS时间、点颜色等信息),扩展的边长记录。LAS文件按每条扫描线排列方式存放数据,包括激光点的三维坐标、多次回波信息、强度信息、扫描角度、分类信息、飞行航带信息、飞行姿态信息、项目信息、GPS信息、数据点颜色信息等。

(引用自点云数据格式与存储格式 - 知乎) 

*.laz:对las文件的无损压缩

*.pcd:pcl指定格式,支持n维点类型的扩展机制,具有ASCII和binary两种数据存储类型。主要包含文件头(版本、每个纬度的字段名、每个纬度大小、数据类型,元素数、点数量宽度、高度、点云的获取试点、数据存储类型)

 (引用自PCL:点云数据(*.pcd)文件格式详解

*.txt;*.xyz;*.pts等:文本格式可直接用文本工具打开查看

2.点云数据集

        学习点云,不想其他数据一样,点云数据获取需要借助一些仪器,而我们作为初学者几乎无法接触到这些,只能从公开的数据集中获取,下面搜集整理一些可供学习使用的数据集地址:

  • The Stanford 3D Scanning Repository

        Stanford 3D扫描库,是初学者用的比较多的数据集,模型居多:

        http://graphics.stanford.edu/data/3Dscanrep/

  • ASL Datasets Repository

        ASL机载激光雷达数据集,该站点致力于为机器人社区提供数据集,旨在促进结果评估和比较,数据类型比较多,目标检测和点云配准的都有:
       http:// https://projects.asl.ethz.ch/datasets/doku.php?id=home

  • RGB-D Object Dataset

        RGB-D 对象数据集是一个包含 300 个常见家庭对象的大型数据集。这些对象被组织成 51 个类别,使用 WordNet 上位词-下位词关系(类似于 ImageNet)排列。该数据集是使用 Kinect 风格的 3D 相机记录的,该相机以 30 Hz 的频率记录同步和对齐的 640x480 RGB 和深度图像。每个物体都放置在转盘上,并在整个旋转过程中捕获视频序列。对于每个物体,有 3 个视频序列,每个视频序列都使用安装在不同高度的摄像机进行记录,以便从与地平线不同的角度观察物体。
        http://rgbd-dataset.cs.washington.edu/index.html

  • Oakland 3-D Point Cloud Dataset - CVPR 2009 subset

        据库的采集地点是在美国卡耐基梅隆大学周围,用激光扫描仪扫描得到,包含训练集,验证集和测试集数据;
        http://www.cs.cmu.edu/~vmr/datasets/oakland_3d/cvpr09/doc/

  • NPM3D Benchmark Suite

        城市车载点云数据:
        https://npm3d.fr/paris-lille-3d

  • 树木点云:

        https://www.3dforest.eu/

  • 3D Point Clouds

        WHU-TLS 基准数据集涵盖了地铁站、高铁站、山地、森林、公园、校园、住宅、河岸、文化遗产建筑、地下矿道、隧道等 11 种不同的环境,共包含 115 个测站、17.4 亿个三维点以及点云之间的真实转换矩阵。
        http://3s.whu.edu.cn/ybs/en/benchmark.htm

引用自(文中还包含其他的数据集这里没有一一统计):

点云数据下载汇总 - 知乎

三维点云数据集——持续更新 - 知乎

3.点云数据处理三方库及软件

可以处理点云数据的三方库有:

libLAS:

libLAS是一个C/C ++库(有python库 liblas),用于读写LAS格式的点云。ASPRS LAS格式是一种顺序二进制文件格式,用于存储来自LiDAR传感器以及LiDAR处理软件的数据以进行数据交换和存档。libLAS支持ASPRS LAS格式规范版本:1.0、1.1、1.2和1.3(基本支持)。

虽然libLAS已经被PDAL取代,但是不可否认,它是一个很nice的库。

libLAS库可以通过OSGeo4W下载,也可以自己编译。
引用自:libLAS:读写点云_累了就要打游戏的博客-CSDN博客_liblas

PDAL:

PDAL是点云数据处理的库。这是一个C/C++开源库,用于点云数据的转换和处理。尽管该库中许多工具的重点和发展都起源于激光雷达点云数据的处理,但它也不限于激光雷达数据。

引用自:PDAL点云处理库介绍_yamgyutou的博客-CSDN博客_点云处理库

PCL:

PCL(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。支持多种操作系统平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式实时系统上运行。如果说OpenCV是2D信息获取与处理的结晶,那么PCL就在3D信息获取与处理上具有同等地位,PCL是BSD授权方式,可以免费进行商业和学术应用。

引用自:PCL(点云库)_百度百科

开源软件有:CloudCompare

CloudCompare是一个三维点云(网格)编辑和处理软件。最初,它被设计用来对稠密的三维点云进行直接比较。它依赖于一种特定的八叉树结构,在进行点云对比这类任务时具有出色的性能。此外,由于大多数点云都是由地面激光扫描仪采集的,CloudCompare的目的是在一台标准笔记本电脑上处理大规模的点云——通常超过1000万个点云。在2005年后,cloudcompare就实现了点云和三角形网格之间的比较。随后,许多其他点云处理算法(配准、重采样、颜色/法线向量/尺度、统计计算、传感器管理、交互式或自动分割等)以及显示增强工具(自定义颜色渐变、颜色和法向量处理,校准图像处理、OpenGL着色器、插件等)
引用自:CloudCompare的介绍_Being_young的博客-CSDN博客

        以上是对点云数据、数据处理的三方库以及开源软件作了简单的整理,后续将以pcl为主要工具来学习和处理点云数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

点云学习---入门 的相关文章

随机推荐

  • [4G&5G专题-27]:架构-UE终端的4G+5G双连接详解

    目录 第1章 什么是多连接 1 1 多连接概述 1 2 多连接的聚合和分离点的分类 1 3 多连接好处 1 4 双连接的本质 1 5 多连接的控制面与数据面连接方法分类 1 6 1C 2U模式下数据承载的三种方式 1 7 分清各种场景的基本
  • 13个你可能未使用过的Python教程!

    Python 是顶级编程语言之一 它具有许多程序员从未使用过的许多隐藏功能 在这篇博客中 我将分享你可能从未使用过的13 个 Python 特性 列表Stepping 这是一个 step 参数 可以通过采取几个步骤来分割你的列表 此外 你可
  • Mybatis-多表联查

    多表联查 一 步骤一 创建pojo实体类 二 步骤二 明确两个实体类之间的关系 三 步骤三 修改pojo实体类 四 步骤四 编写Mapper接口 五 步骤五 编写Mapper映射文件 题目1 通过订单id查询订单详情以及所属用户 题目2 通
  • mysql字段更新拼接_更新数据库中值为拼接字符串的字段

    我们开发系统涉及权限的时候 会处理到用户和角色的关系 通常情况下 我们会建一个用户角色关系映射表 user role mapping 字段有id user id role id 如果某个用户有多个角色 那么在user role mappin
  • C语言课程设计学生籍贯信息,C语言课程设计 学生籍贯信息记录簿设计.doc

    C语言与程序设计课程设计 学生籍贯信息记录簿设计 学 院 信息工程 班 级 物联1301班 学 号 131408119 姓 名 滕玲 一 设计目的 该软件主要是编辑一个学生籍贯信息记录簿记录每个学生信息 包括 学号 姓名 籍贯 具体功能 1
  • flex布局采用justify-content:space-between时,当为两个内容时中间被空出的解决方案

    我们在用flex布局的时候有时会用到justify content space between属性 这个属性是让弹性容器内的元素向两端对齐 div class box div div div div div div div div div
  • 广度优先遍历进阶

    第七周 BFS 广度优先搜索 733 127 130 317 505 529 1263 1197 815 934 广度优先模板 void bfs queue
  • filetime,systemtime相互转化,获取文件创建时间,访问时间,修改时间,获取指定时间之前之后的SYSTEMTIME

    deleteOldFiles cpp 定义控制台应用程序的入口点 include stdafx h include
  • 脑科学和类脑智能技术综述学习笔记

    文章目录 Part1 脑科学 1 脑科学与类脑研究概述 摘要 引言 1 国际脑科学和类脑研究的回顾与前瞻 1 1 脑科学的回顾 现代神经科学的起点是 神经解剖学和组织学 对神经系统结构的认识和分析 1 2 脑科学领域的重大问题 从图谱制作到
  • Unity3d实现红外热成像效果

    1 将需要在红外图像中高亮的物体设置到图层PostProcessing 2 新建一个相机CameraHighLight 设置其Culling Mask为PostProcessing 也就是在这个相机中只有PostProcessing图层的物
  • ArcGIS Pro免费试用申请与安装配置

    ArcGIS Pro免费试用申请与安装配置 每个邮箱可以申请21天的试用 1 打开申请网站 https www esri com zh cn arcgis products arcgis pro trial 2 注册ArcGIS试用 3 在
  • JS子窗口向父窗口传值

    方法一 用模式窗口 returnValue是javascript中html的window对象的属性 目的是返回窗口值 当用window showModalDialog函数打开一个IE的模式窗口 模式窗口就是子窗口 打开后不能操作父窗口 只能
  • 斐波那契数列求和——C语言(小白版)

    斐波那契数列求和 C语言 小白版 题目要求 斐波那契数列 1 1 2 3 5 8 13 21 34 不难发现当n gt 2时 an an 1 an 2 要求 当屏幕输入n n gt 2 时 输出前n项以及前n项的和 注意 我们不使用递归 也
  • 使用Qt创建模拟时钟

    main cpp include
  • Java的数据结构之枚举、向量、栈、字典

    Java工具包提供了强大的数据结构 在Java中的数据结构主要包括以下几种接口和类 枚举 Enumeration 位集合 BitSet 向量 Vector 栈 Stack 字典 Dictionary 哈希表 Hashtable 属性 Pro
  • Java Character 类

    Character 类用于对单个字符进行操作 Character 类在对象中包装一个基本类型 char 的值 实例 char ch a Unicode 字符表示形式 char uniChar u039A 字符数组 char charArra
  • 实战演习(五)——人脸识别(CNN)简单演练

    笔者是一个痴迷于挖掘数据中的价值的学习人 希望在平日的工作学习中 挖掘数据的价值 找寻数据的秘密 笔者认为 数据的价值不仅仅只体现在企业中 个人也可以体会到数据的魅力 用技术力量探索行为密码 让大数据助跑每一个人 欢迎直筒们关注我的公众号
  • 运输层协议概述

    紫色代表一级目录 粉红代表二级目录 蓝色代表三级目录 红色代表关键字 橙色代表说明 运输层协议概述 进程之间的通信 从通信的角度看 运输层向它上面的应用层提供通信服务 它属于面向通信部分的最高层 从信息处理的角度看 运输层是用户功能中的最低
  • 【陈工笔记】# LaTeX中,单元格数据居中方式 #

    良好的习惯 才不会让努力白白浪费 第一种方式 使用 p 1 5cm lt centering 指定单元格大小并设置对齐 其中p 1 5cm 指定大小 lt centering 指定对齐方式 使用 lt centering 时 需引入宏包 u
  • 点云学习---入门

    1 点云数据格式 常见的点云格式包括 las 用于激光雷达点云及其他任何三维xyz元组 是一种用于交换三维点数据的公共文件格式 文件主要由4部分组成 包括公共头块 包含版本号 缩放因子 偏移值 时间 范围等 变长记录 包含变长类型数据 坐标