IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 点云 3D 可视化 - Open3D 库 -> 正文阅读

[人工智能]点云 3D 可视化 - Open3D 库

1. 文章信息

(1)标题:Open3D: A Modern Library for 3D Data Processing (2018)

(2)文章链接:https://arxiv.org/pdf/1801.09847.pdf

(3)Open3D 库网址:http://www.open3d.org/

2. Open3D 库简介

  • Open3D 是一个开源库,支持快速开发处理 3D 数据的软件。Open3D 前端在 C++ 和 Python 中公开了一组精心选择的数据结构和算法。后端经过高度优化,并设置为并行化。Open3D 是从一块干净的石板上开发出来的,有一个小的、经过仔细考虑的依赖项集。它可以在不同的平台上设置,并从源代码进行编译,只需很少的工作量。代码干净、样式一致,并通过清晰的代码审查机制进行维护。Open3D已经在许多已发表的研究项目中使用,并积极部署在云端。我们欢迎开源社区的贡献。核心特性如下:
  • Simple installation via conda and pip
  • 3D data structures
  • 3D data processing algorithms
  • Scene reconstruction
  • Surface alignment
  • PBR rendering
  • 3D visualization
  • Python binding
  • 安装方法
conda install open3d  或者  pip install open3d

2. 3D 可视化使用

2.1 单帧点云

import numpy as np
import open3d as o3d

colormap = np.array([[150, 150, 150],
                    [255, 0, 255],
                    [0, 255, 0],
                    [0, 200, 255],
                    [255, 255, 0]]) / 255.0

path = '/home/hjw/PointCloudTest/PointCloudTestData.npy'  # 本人自己的测试数据,直接替换即可
pointCloud = np.load(path).astype(np.float32, copy=False)
point3D = pointCloud[:, :3]  # x, y, z
pointIntensity = pointCloud[:, 3]  # intensity

pointColor = [colormap[int(pointIntensity[i]) % colormap.shape[0]] for i in range(pointIntensity.shape[0])]

pcd = o3d.geometry.PointCloud()  # 传入3d点云

pcd.points = o3d.utility.Vector3dVector(point3D)  # point3D 二维 numpy 矩阵,将其转换为 open3d 点云格式

pcd.colors = o3d.utility.Vector3dVector(pointColor)  # 根据 intensity 和 colormap 着色


vis = o3d.visualization.Visualizer()
vis.create_window(width=800, height=600)  # 创建窗口
render_option = vis.get_render_option()  # 渲染配置
render_option.background_color = np.array([0, 0, 0])  # 设置点云渲染参数,背景颜色
render_option.point_size = 1.0  # 设置渲染点的大小
vis.add_geometry(pcd)  # 添加点云

view_control = vis.get_view_control()  # 视角配置
# view_control.change_field_of_view(step=30)
# view_control.rotate(90.0, 10.0)
# view_control.set_front([0, 1, 0.5])
# view_control.set_lookat([1, 0, 0])
# view_control.set_up([0, -1, 0])
# view_control.translate(-50, -100)
view_control.set_zoom(0.2)

vis.run()

vis.destroy_window()

详细参数介绍见 API 网址:http://www.open3d.org/docs/release/python_api/open3d.visualization.ViewControl.html

请添加图片描述

2.2 多帧点云

import os
import numpy as np
import open3d as o3d

path = '/home/hjw/PointCloudTest/'  # 本人自己的测试数据路径,直接替换即可
files = os.listdir(path)

vis = o3d.visualization.Visualizer()
vis.create_window()
pcd = o3d.geometry.PointCloud()
toReset = True
vis.add_geometry(pointcloud)

for f in files:
    pointCloud = np.load(path + f).astype(np.float32, copy=False)
    point3D = pointCloud[:, :3]  # x, y, z
    pointIntensity = pointCloud[:, 3]  # intensity

    pcd.points = o3d.utility.Vector3dVector(point3D)
    
    vis.update_geometry(pcd)
    
    if toReset:
        vis.reset_view_point(True)
        toReset = False
    
    vis.poll_events()
    vis.update_renderer()
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-11 22:11:31  更:2022-03-11 22:12:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 15:22:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码