open3d-点云读写和显示

2023-11-18

目录

一,点云读取

二,点云写入

二,点云显示

三、 open3d支持如下点云文件类型

​四、代码及结果示例


一,点云读取

read_point_cloud(filename, format='auto', remove_nan_points=True, remove_infinite_points=True, print_progress=False): 

参数:

  • filename (str): 点云文件路径
  • format (str, optional, default='auto'): 输入文件格式filehe的路径。 如果未指定或设置为“auto”,则从文件扩展名推断格式 
  • remove_nan_points (bool, optional, default=False): 如果True,所有包含NaN的点都将从PointCloud中删除。 
  • remove_infinite_points (bool, optional, default=False): 如果为True,所有包含无限值的点都将从PointCloud中删除 
  • print_progress (bool, optional, default=False): 如果设置为true,控制台中会显示一个进度条 

返回:

  • open3d.geometry.PointCloud

默认情况下,Open3D尝试通过文件名扩展名推断文件类型。

pcd = o3d.io.read_point_cloud("../../test_data/my_points.txt", format='xyz')

也可以显式地指定文件类型。 在这种情况下,文件扩展名将被忽略。

二,点云写入

write_point_cloud(filename, pointcloud, write_ascii=False, compressed=False, print_progress=False)

参数:

  •    filename (str): 点云文件保存路径名.
  •    pointcloud (open3d.geometry.PointCloud): 目标点云
  •     compressed (bool, optional, default=False): 设置为' ' True ' '以压缩格式写入。 
  •     print_progress (bool, optional, default=False):如果设置为true,控制台中会显示一个进度条 

返回:

  • bool类型

保存一个点云(o3d.pcd)到本地文件

二,点云显示

draw_geometries(window_name='Open3D', width=1920, height=1080, left=50, top=50, point_show_normal=False, mesh_show_wireframe=False, mesh_show_back_face, *args, **kwargs):

参数:

  • geometry_list (List[open3d.geometry.Geometry]): 可视化点云列表。
  • window_name (str, optional, default='Open3D'): 可视化窗口名称。
  • width (int, optional, default=1920): 可视化窗口宽
  • height (int, optional, default=1080): 可视化窗口高
  • left (int, optional, default=50): 可视化窗口左边距
  • top (int, optional, default=50): 可视化窗口上边距
  • point_show_normal (bool, optional, default=False):  如果设置为True,可视化点的法向量。
  • mesh_show_wireframe (bool, optional, default=False): 如果设置为true,可视化网格线框。
  • mesh_show_back_face (bool, optional, default=False): 可视化网格三角形背面。

返回:

  • None

三、 open3d支持如下点云文件类型

Format

Description

xyz

每行包含[x, y, z], 其中 xyz 分别是三维坐标

xyzn

每行包含[x, y, z, nx, ny, nz], 其中 nxnynz 是法向量

xyzrgb

每行包含 [x, y, z, r, g, b], 其中rgb 是[0, 1]的float数据

pts

第一行是点数. 接下来的行遵循如下其中一种格式:[x, y, z, i, r, g, b][x, y, z, r, g, b][x, y, z, i] or [x, y, z], 其中xyzi 是 double类型 ,rgb 是 uint8类型

ply

见 多边形格式, ply文件可以包含点云和mesh网格数据

pcd

见 点云数据

​四、代码及结果示例

import open3d as o3d
import numpy as np

print("Load a ply point cloud, print it, and render it")
# ply_point_cloud = o3d.data.PLYPointCloud()
plyname = r'fragment.ply'
#读点云
pcd = o3d.io.read_point_cloud(plyname)
print(pcd)
print(np.asarray(pcd.points))
#点云显示
o3d.visualization.draw_geometries([pcd],
                                  zoom=0.3412,
                                  front=[0.4257, -0.2125, -0.8795],
                                  lookat=[2.6172, 2.0475, 1.532],
                                  up=[-0.0694, -0.9768, 0.2024])
#保存点云
o3d.io.write_point_cloud("save.pcd", pcd)

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

open3d-点云读写和显示 的相关文章

  • 存储过程中的when others then 和 raise 何意义?

    EXCEPTION when others then rollback dbms output put line code sqlcode dbms output put line errm sqlerrm raise when other
  • MATLAB初学_分类方法_4.0

    一 K 近邻分类 K 近邻算法是一种基于实例的非参数的分类方法 其作用原理是计算每个训练样例到待分类样品间的距离 取和待分类样品距离最近的看k个训练样例 k个样品中那个类别的训练样例占多数 则待分类元组就属于该类 2 1 K NN算法具体步

随机推荐

  • linux文件重命名命令

    linux下重命名文件有两种方式 1 较简单的处理命令 mv mv 原文件名 新文件名 如 mv myFile newName 将MyFile重命名为newName 2 linux提供了一个重命名文件命令 rename rename fro
  • HDR技术

    转自 http digi tech qq com a 20150513 008211 htm http digi tech qq com a 20150119 009229 htm http tech sina com cn e 2015
  • Fix a Tree【Codeforces 699 D】【dfs + 树的性质】

    Codeforces Round 363 Div 2 D 题意 有N个点 每个点i都有一个父节点p i 如果 i p i 则是说明i结点是根结点 现在我们给出这样的1 N的p i 这可能是不合法的 问 我们应该最少改变多少个使它变成一棵合法
  • kubernetes各组件介绍

    文章目录 一 kubernetes 是什么 1 基础架构图 2 kubernetes 各组件介绍 2 1 master 组件 one Kubernetes API Server kube apiserver two Kubernetes C
  • 位的巧妙应用

    前言 前几天做了一个笔试题目 当时没多想 今天翻看博客才发现 原来每个笔试题都藏的很深啊 原文链接 http blog csdn net u010429424 article details 77856133 先说题目 面试题 8个试剂 其
  • 输入两个学生的学号,成绩,输出成绩较高的学生的学号姓名和成绩

    include
  • 贝叶斯判别分析器_用朴素的贝叶斯构建情感分析器

    贝叶斯判别分析器 Sentiment Analysis is contextual mining of text which identifies and extracts subjective information in the sou
  • 传感器超声波雷达

    转自 http www itsiwei com 21962 html 在上一次分享中 我介绍了毫米波雷达的原理 数据特性及优缺点 毫米波雷达的低环境敏感和低成本的特性使得其在ADAS和自动驾驶领域得到了广泛的应用 今天要介绍的是一款极其常见
  • 【Python】cnocr的使用

    1 介绍 cnocr于2019年7月25日开源 以下是使用介绍 2 安装 pip install cnocr 3 使用 from cnocr import CnOcr ocr CnOcr path r D server cnocr exam
  • 【AI前沿】chatgpt还有哪些不足?

    博客昵称 吴NDIR 个人座右铭 得之淡然 失之坦然 作者简介 喜欢轻音乐 象棋 爱好算法 刷题 其他推荐内容 计算机导论速记思维导图 其他内容推荐 五种排序算法 在这个愉快的周末让我们聊一下ChatGPT吧 ChatGPT 4时代来临 C
  • AD怎么调整PCB板子大小

    方法一 Design Board Shape Redefine Board Shape 快捷键D S R 对于方形 依次画好4个点 然后右键退出操作 没有画成想要的形状之前不要点击右键 方法二 1 在PCB页面用Keep Out Layer
  • C语言学习笔记(七)————分支语句相关

    1 单独一个分号是空语句 在一些情况下有重要作用 2 使用if else语句时 如果条件成立 要执行多条语句 这里要用一对 封装一个代码块 如果if else后面是单条语句则不用大括号括起 3 注意C语言中if else遵循就近原则 不看缩
  • 分析告警流量

    关键指标分析 事件量 原始告警量 主告警量 自动去重 规则压缩后告警量 压缩比 压缩比计算公式 1 主告警量 事件量 100 MTTA 告警平均响应or认领时长 MTTR 告警平均恢复or关闭时长 事件压缩分析 按天统计事件量 所有告警 主
  • 电商数据分析---RFM用户画像

    电商数据分析 一 数据描述 数据下载 订单顺序编号 订单号 用户名 商品编号 订单金额 付款金额 二 分析角度 1 整体角度 探索每个月有效的订单 以及销售额 2 个人角度 统计第一次购买的数量 以及最新时间购买的人数 3 用户画像 使用R
  • Windows API一日一练(13)TranslateMessage函数

    Windows API一日一练 13 TranslateMessage函数 分类 Direct3D 2007 07 23 08 41 7881人阅读 评论 5 收藏 举报 windows api winapi null 工作 Transla
  • linux基础命令之zip

    zip用来解压缩文件或对文件进行打包 语法 zip 选项 参数 zip压缩包 指定要创建的zip压缩包 文件列表 指定要压缩的文件列表 通常用法 zip r aaa zip aaa 压缩目录 zip r aaa zip aaa 压缩文件 选
  • 服务器来电后自动开机

    实战 xfs文件系统的备份和恢复 XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据 xfsdump 按inode顺序备份一个XFS文件系统 与传统的UNIX文件系统不同 XFS不需要在dump前被卸
  • Mac M1(arm 系列芯片)如何安装 Chromium

    最近写个脚本用到 puppeteer 然后安装 Chromium 出现一点问题 这里记录一下解决方案 Puppeteer 自动安装失败 在 Puppeteer 安装时会自动安装 Chromium 然而却总是报错 502 导致下载失败 直接下
  • [Unity] Unity 插件Behavior Designer行为树使用

    Unity 插件Behavior Designer行为树使用 1 创建行为树 在Tools gt Behavior Designer gt Editor中打开行为树编辑编辑窗口 选择一个游戏物体 在Behavior Designer中右键A
  • open3d-点云读写和显示

    目录 一 点云读取 二 点云写入 二 点云显示 三 open3d支持如下点云文件类型 四 代码及结果示例 一 点云读取 read point cloud filename format auto remove nan points True