首页 > 编程语言 >【Lidar】基于Python的Open3D库、Laspy库保存点云文件/点云格式转换

【Lidar】基于Python的Open3D库、Laspy库保存点云文件/点云格式转换

时间:2023-12-04 16:57:38浏览次数:39  
标签:point Python Lidar Open3D 点云 las pcd points

         因为最近在做点云相关的项目,过程中用到了Python中的Open3D库和Laspy库,所以今天给大家分享一下如何使用Open3D和Laspy这两个库对点云数据进行保存和格式的转换。

1 Open3D库介绍

        Laspy库我到时候会单独介绍,所以这里就不多说了!!!

        Open3D是一个开源的3D数据处理库,发布于2015年,目前已经更新到0.17.0版本。它基于MIT协议开源许可,使用C++11实现,并经过高度优化,还通过Python Pybinding提供了前端Python API。 Open3D为开发者提供了一组精心选择的数据结构和算法,内部实现高度优化并设置为并行化。它处理3D数据的各种应用,包括点云、网格、体积计算、可视化、深度学习、测量和场景图等。Open3D的目标是成为一个高效,可扩展和易用的3D数据处理库。

2 点云数据保存代码

2.1 laspy库保存

        laspy中可以通过列表索引选择对应的点云数据。需要注意laspy只支持.las和.laz文件。

def save_point(path, point_type):
    # ---------------------------laspy库保存----------------------------
    las = laspy.read(r"Z:\Personal\彭俊喜\Lidar_try/2.las")  # read a las file
    points = las.points
    out_file = laspy.LasData(las.header)
    ground = [2, 5, 6]  # 索引
    out_file.points = points[np.array(ground)]  # extract ground points, and save it to a las file.
    out_file.write(r"Z:\Personal\彭俊喜\Lidar_try/out1.las")

2.2 Open3D库保存/格式转换

        这里包含了一个自己通过数组创建点云数据并保存的方法。标题中所说的点云格式的转换也是在这里,我们只要使用open3d库读取点云后,导出时加入相应的后缀即可进行格式转换。

def save_point(path, point_type):

    # ---------------------------open3d库保存---------------------------
    pcd = o3d.io.read_point_cloud(path, format=point_type, remove_nan_points=True, remove_infinite_points=True, print_progress=True)
    # 路径、输入格式、删除包含NAN的所有点、删除包含无限值的所有点、可视化进度条
    print(pcd)  # 输出点云点的个数
    print(np.asarray(pcd.points))  # 输出点的三维坐标
    o3d.io.write_point_cloud(r'1.xyz', pcd, write_ascii=False, compressed=False, print_progress=True)
    # 路径、文件、以ascii格式输出否则使用二进制输出、以压缩格式写入、可视化进度条

    # ---------------------------open3d库保存---------------------------
    numpy = [[1, 2, 3], [1, 2, 3], [3, 4, 5]]
    pcd = o3d.geometry.PointCloud()
    pcd.points = o3d.utility.Vector3dVector(numpy)  # 数组转点云
    o3d.io.write_point_cloud(r'Z:\Personal\彭俊喜\Lidar_try/1.xyz', pcd, write_ascii=False, compressed=False,
                             print_progress=True)

3 总结

        目前我就使用了Open3D和Laspy两个库去处理点云数据,个人觉得这两个库还是挺不错的,后面也会持续更新更多的Python处理点云数据的教程,如点云聚类、单木分割等。如果感兴趣可以关注我,目前没有设为收费专栏的想法,大家可以放心学习。

标签:point,Python,Lidar,Open3D,点云,las,pcd,points
From: https://www.cnblogs.com/RSran/p/17875351.html

相关文章

  • python中级之垃圾回收机制
    引入当解释器在执行到变量赋值的时候,例如:name='xiaoying',那么会向内存空间申请一块空间来存放变量的值,而内存的空间是有限的,并不能无限制的存放,那么这就涉及到了一个回收的问题,当一个变量值没用了之后,简称(垃圾),那么垃圾就该放进垃圾桶中进行回收,将其所占用的内存空间释放回收......
  • Python字符编码
    编码,文字和二进制之间的一个对照表。【1】阶段一:一家独大(ASCII)(1)ASCII表的诞生现代计算机起源于美国,所以最先考虑仅仅是让计算机识别英文字符,于是诞生了ASCII表(2)ASCII表的特点只有英文字符与数字的一一对应关系一个英文字符对应1Bytes,1Bytes=8bit,8bit最多包含256个数字,......
  • 通过Python和大数据技术实现网站内容的个性化推荐
    随着互联网的快速发展,越来越多的人使用网络来获取信息和娱乐。在这个过程中,推荐系统成为了一个非常重要的工具,通过分析用户的行为和偏好,提供个性化的推荐内容,提升用户的体验和满意度。本文将介绍如何使用Python和大数据技术实现网站内容的个性化推荐。一、推荐系统的分类推荐系统根......
  • 如何使用Python提升网站的SEO效果
     Python是一种功能强大的编程语言,可以应用于各种领域,包括优化网站的搜索引擎优化(SEO)效果。本文将探讨如何使用Python来改善网站的SEO效果,并提供一些实用的技巧和工具。 1.网站地图生成器:网站地图是搜索引擎索引网页的重要工具之一。使用Python可以编写脚本来自动生成网站地图,以......
  • 软件测试/人工智能|Python 数据类型解析:探索编程世界的多样性
    数据类型是编程中不可或缺的基本概念。在Python中,有多种数据类型,每种都有其独特的特点和用途。本文将带你深入了解常见的Python数据类型及其实际应用。引言在编程中,数据类型是对数据进行分类和组织的方式。Python中有多种数据类型,每种类型都有其自身的特性和功能。了解这......
  • 软件测试/人工智能|Python 数据类型转换解析:理解数据之间的灵活转换
    引言数据类型转换是指将一种数据类型的值转换为另一种数据类型的过程。在编程中,我们经常需要处理不同类型的数据,正确地进行类型转换是编写健壮程序的关键。常见的数据类型转换整数和浮点数转换为字符串#示例代码num_int=10num_float=3.14str_int=str(num_int)str......
  • 软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究
    变量什么是变量?变量是在程序中用于存储数据的名称。它们可以存储各种类型的数据,比如数字、文本、列表、字典等等。变量类型在介绍变量时,可以提及Python中常见的变量类型,例如整数、浮点数、字符串、布尔值、列表、元组、字典等。如下所示:a=1b='muller'c='123'd=......
  • Python函数介绍
    1.函数1.1函数概述函数定义和优势不同形状正方形打印#2个foriinrange(0,2):forjinrange(0,2):print("*",end="")print()#3个foriinrange(0,3):forjinrange(0,3):print("*",end="")pr......
  • python之字符编码
    【字符编码的发展史】一家独大:ASCII(识别英文字符)-------------诸侯割据(ASCII/GBK/Shift_JIS)---------------一统天下(存在所有语言中的所有字符与数字的一一对应关系,即兼容万国字符,unicode) 字母对应ASCII表A-Z:65-90a-z:97-1220-9:48-57小写字母对应的数字一定大于大写字母 ......
  • Java开发者的Python快速实战指南:探索向量数据库之图像相似搜索-文字版
    首先,我要向大家道个歉。原本我计划今天向大家展示如何将图片和视频等形式转换为向量并存储在向量数据库中,但是当我查看文档时才发现,腾讯的向量数据库尚未完全开发完成。因此,今天我将用文本形式来演示相似图片搜索。如果您对腾讯的产品动态不太了解,可以查看官方网址:https://cloud.t......