Open3D——RGBD图转化为点云(pcd)并显示

2023-10-26

1. 用Open3D分别读取RGB图片和深度图片

      彩色图:    

      深度图:

 

2. 把Open3D中的RGBD图片转化pcd格式并储存

 

3. 显示点云

      

直接看代码:

# Open3D: www.open3d.org
# The MIT License (MIT)
# See license file or visit www.open3d.org for details

# examples/Python/Basic/rgbd_redwood.py

import open3d as o3d
import matplotlib.pyplot as plt

if __name__ == "__main__":
    print("Read Redwood dataset")
    color_raw = o3d.io.read_image("color.jpg")
    depth_raw = o3d.io.read_image("depth.png")
    rgbd_image = o3d.geometry.create_rgbd_image_from_color_and_depth(
        color_raw, depth_raw)
    print(rgbd_image)

    plt.subplot(1, 2, 1)
    plt.title('grayscale image')
    plt.imshow(rgbd_image.color)
    plt.subplot(1, 2, 2)
    plt.title('depth image')
    plt.imshow(rgbd_image.depth)
    plt.show()

    pcd = o3d.geometry.create_point_cloud_from_rgbd_image(
        rgbd_image,
        o3d.camera.PinholeCameraIntrinsic(
            o3d.camera.PinholeCameraIntrinsicParameters.PrimeSenseDefault))
    # Flip it, otherwise the pointcloud will be upside down
    pcd.transform([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])
    o3d.io.write_point_cloud("test.pcd", pcd)
    o3d.visualization.draw_geometries([pcd])

注:如果你对3D人脸识别感兴趣,可以参考我的两篇博客:3D人脸识别——人脸点云前处理 和 3D人脸识别——点云转化为可训练的图片

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

Open3D——RGBD图转化为点云(pcd)并显示 的相关文章

  • qt 配置open3d

    一 配置前要先编程open3d 二 开始配置 新建txt 把txt 修改为 pri 在pro 文件中添加 include F xuwanlu control pri 重新构建项目然后回多出来pri 在pri中添加open3d目录 INCLU
  • 两个点云相加合并(附open3d python代码)

    把多个点云合并的需求经常出现 xff0c 直接可把它们合并起来 coding utf 8 import open3d as o3d import numpy as np 加载点云 print 34 gt 正在加载点云 34 pcd1 61
  • 7.Open3D教程——表面重建

    在许多情况下 xff0c 我们希望生成密集的三维几何体 xff0c 即三角形网格 然而 xff0c 从多视点立体方法 xff0c 或深度传感器 xff0c 我们只能获得一个非结构化的点云 为了从非结构化输入中得到三角形网格 xff0c 我们
  • Open3D DbScanClustering聚类算法及聚类分簇可视化及存储

    DBSCAN聚类算法 是基于密度的聚类算法 该算法需要两个参数 labels np array pcd cluster dbscan eps 0 02 min points 10 print progress True 入参 eps 定义到
  • Open3d学习计划——高级篇 3(点云全局配准)

    Open3d学习计划 高级篇 3 点云全局配准 ICP配准和彩色点云配准都被称为局部点云配准方法 因为他们都依赖一个粗糙的对齐作为初始化 本篇教程将会展现另一种被称为全局配准的配准方法 这种系列的算法不要求一个初始化的对齐 通常会输出一个没
  • windows10编译open3d 0.13

    目录 写在前面 准备 获取源码 cmake cmake版本 开始cmake 1 命令行 2 cmake gui 编译 安装 测试 完 写在前面 1 环境 win10 visual studio2019 cmake3 22 0 rc1 下载源
  • 基于Open3D的点云处理12-体素化

    体素化Voxelization 体素 voxel 是像素 pixel 体积 volume 和元素 element 的组合词 相当于3D空间中的像素 体素化是通过用空间均匀大小的体素网格 voxel grid 来模拟模型或者点云的几何形态的过
  • Open3d读写ply点云文件

    本文为博主原创文章 未经博主允许不得转载 本文为专栏 python三维点云从基础到深度学习 系列文章 地址为 https blog csdn net suiyingy article details 124017716 1 Open3d 安
  • 机智的Open3D学习生活(第一集):入坑前的准备工作

    1 Open3D的开源项目地址 https github com isl org Open3D 2 Open3D的官网地址 http www open3d org 3 Open3D的文档地址 http www open3d org docs
  • Open3D 三维点云读取可视化、下采样、去除离群点、地面提取

    Open3D 3D数据处理的现代库 是一个开放源代码库 支持快速开发处理3D数据的软件 Open3D在C 和Python中公开了一组精心选择的数据结构和算法 后端经过高度优化 并支持并行化 推荐Python 支持Python 3 5 3 6
  • Open3D中RANSAC平面拟合

    文章目录 一 函数介绍 二 代码实现 三 结果展示 四 总结 五 坐标中心化 一 函数介绍 使用RANSAC从点云中分割平面 用segement plane函数 这个函数需要三个参数 destance threshold 定义了一个点到一个
  • open3d教程(一):open3d的安装和测试(Python版本)

    1 介绍 Open3d 用于3D数据处理的现代库 Open3D 是一个开源库 支持快速开发处理 3D 数据的软件 Open3D 前端在 C 和 Python 中公开了一组精心挑选的数据结构和算法 后端经过高度优化 并设置为并行化 我们欢迎来
  • Open3d之计算点云边界框

    核心函数 与Open3D中的其他几何类型一样 PointCloud几何类型具有边界框 当前 Open3D实现了AxisAlignedBoundingBox和OrientedBoundingBox 它们也可用于裁剪几何 AxisAligned
  • Open3D:Win10 + VS2017配置Open3D(C++、python)

    累了就要打游戏 2020 08 25 15 13 10 3350 收藏 25 分类专栏 Open3D 文章标签 点云 Open3D C 版权 Open3D 专栏收录该内容 5 篇文章1 订阅 订阅专栏 20200825 今天七夕 呱呱呱 O
  • Open3d学习计划——4(网格)

    Open3d学习计划 4 网格 欢迎大家关注 点云PCL 公众号 进入群聊一起学习 open3d有一种被称为TriangleMesh的3d三角网格的数据结构 下面的代码展示了如何从一个ply文件读取三角网格数据并且打印它的顶点和三角形 pr
  • 基于Open3D的点云处理5-点云之间的距离计算

    计算在一片点云中的每一个点在另一片点云中最近点的距离 常规写法 通过k d Tree进行搜索每个点的最近点 k idx dist k dTree search knn vector 3d pc2 points i k 通过k d Tree进
  • Open3D点云处理算法最全合集

    Open3D点云处理算法最全合集 致力于搜集可运行 可视化较好的Open3D算法 持续更新中 1 Open3D 点云读取及可视化 离群点去除 2 Open3D 点云体素格下采样 3 Open3D 点云KdTree建立 3种近邻搜索及结果可视
  • 八种点云聚类方法(一)— DBSCAN

    本文为博主原创文章 未经博主允许不得转载 本文为专栏 python三维点云从基础到深度学习 系列文章 地址为 https blog csdn net suiyingy article details 124017716 传统机器学习聚类的方
  • 点云的一致法线计算

    python 或 c 中是否有一个库能够以一致的方式估计点云的法线 以一致的方式 我的意思是法线的方向在表面上全局保留 例如 当我使用 python open3d 包时 downpcd estimate normals search par
  • 如何在 python Open3d 中向网格添加纹理?

    我正在使用 python Open3d 处理三角形网格 我想向我的网格添加纹理映射 我在文档中没有找到它 这是一个带有简单立方体网格的示例代码 import numpy as np import open3d as o3d vert 0 0

随机推荐

  • Altium Designer (AD) 元器件出现绿色叉叉报错的解决办法

    出现报错的原因 元器件的安全间距小于设定的安全间距 但通常情况下 这个问题并不严重 可以理解为是一个警告 不去处理也可以 解决办法 点击菜单栏的工具 T 再点击复位错误标志 M 即可解决报错
  • 一个爬虫代码价值 7000 万

    一个爬虫代码价值 7000 亿 这样的代码你听说过吗 这是一个爬取比特币密钥的代码 比特币相信大家都有听说过 尤其最近比特币价格还突破了 5 万美元大关 现在1 枚比特币就价值 35 万人民币 难怪有句说 币圈一天 人间一年 最近朋友圈关于
  • 登录,注册HTML页面,详细过程

    1 页面说明 登录和注册切换按钮 当点击登录按钮时 显示登录表单 当点击注册按钮时 显示注册表单 每个表单都有对应的 JavaScript 校验函数 校验用户名 邮箱和密码是否为空 如果为空 会弹出警告框 2 效果图展示 3 代码部分 3
  • 手把手教你快速上手人体姿态估计(MMPose)

    最近在研究如何快速实现图像中人体姿态的估计 也就是常见的pose estimation任务 花了些时间 实际对比了AlphaPose BlazePose和MMPose BlazePose主要为移动端设计 AlphaPose安装配置比较麻烦
  • 服务器显卡驱动重装系统,windows7旗舰版系统重装显卡驱动的方法

    在windows7旗舰版电脑中 我们都是需要安装显卡驱动 但是如果显卡驱动安装不合适的话 就会容易导致电脑出现问题 所以如果有碰到安装到不合适的显卡驱动的话我们可以通过重装显卡驱动来解决 那么该怎么操作呢 为此小编这就给大家讲解一下wind
  • 图片 url blob base64 互转

    待补充 url to blob export const urlToBlob async url string gt return new Promise resolve gt fetch url then res gt res blob
  • Nginx

    HTTP和反向代理web服务器 Nginx是一个高性能的HTTP和反向代理web服务器 同时也提供了IMAP POP3 SMTP服务 Nginx是一款轻量级的Web服务器反向代理服务器及电子邮件 IMAP POP3 代理服务器 nginx反
  • 结合 服务器+后端+前端,完成 vue项目 后台管理系统

    目录 以上是项目的服务器php 后端 前端 已经可以正常运行 一 登录 登录页进度条 戳这里Vue项目电商后台管理系统 nprogress 进度条 活在风浪里的博客 CSDN博客 二 侧导航 三 列表页源码 四 角色分配 五 权限页面开发
  • 多线程实现Runable接口和Callable接口的区别

    先看源码callable接口 返回泛型v 可以抛出异常 Runable接口是抽象方法run 没有返回值 不能抛出异常 有异常在run方法内部处理 总结 区别1 两者最大的区别 实现Callable接口的任务线程能返回执行结果 而实现Runn
  • 交换机电口、光口、网络速率的基本概念总结

    电口和光口 千兆网 万兆网 POE 包转发率 背板带宽 交换容量 光纤跳线 电口和光口 电口 电口也即RJ45口 插双绞线的端口 网线 一般速率为10M或100M 即为百兆工业交换机 部分支持1000M 即为千兆交换机 光口 工业以太网交换
  • python sklearn 梯度下降法_Python与机器学习:梯度下降

    梯度下降 Gradient Descent 梯度下降法不是一个机器学习算法 是一种基于搜索的最优化算法 目的是最小化一个损失函数 同样 梯度上升法用于最大化一个效用函数 求解损失函数的最小值有两种方法 1 正规方程求解 上一章已经讲使用线性
  • java多线程和高并发系列三 & Synchronized锁详解

    目录 设计同步器的意义 如何解决线程并发安全问题 同步器的本质就是加锁 synchronized原理详解 synchronized底层原理 Monitor监视器锁 什么是monitor 对象的内存布局 对象头 对象头分析工具 锁的膨胀升级过
  • Python入门教学——多进程和多线程

    目录 一 线程和进程 1 线程和进程的基本概念 2 线程和进程的关系 3 串行 并行和并发 二 创建多个线程 1 线程相关的模块 2 创建线程 2 1 通过Thread类构造器来创建新线程 2 2 通过继承于Thread类来创建新线程 三
  • Kubernetes 集群使用 NFS 网络文件存储

    文章目录 1 NFS 介绍 2 环境 软件准备 3 Kubernetes HA 集群搭建 4 直接挂载 NFS 5 PV PVC 方式使用 NFS 6 StorageClasses 动态创建 PV 方式使用 NFS 1 NFS 介绍 Kub
  • JDBC实现纵向导出数据库数据

    使用到的技术点 1 Java写文件 2 熟悉JDBC API 3 Java集合ArrayList的使用 4 Java字符串截取 本代码仅供测试 如要使用 需自行增加数据库列类型定义和判定逻辑 DBConnectMySQL java pack
  • 教你如何构建 Linux 内核

    介绍 我不会告诉你怎么在自己的电脑上去构建 安装一个定制化的 Linux 内核 这样的资料太多了 它们会对你有帮助 本文会告诉你当你在内核源码路径里敲下make 时会发生什么 当我刚刚开始学习内核代码时 Makefile 是我打开的第一个文
  • C语言中函数指针、指针函数、结构体中的函数指针的用法和区别

    一 指针函数 定义 指针函数 简单的来说 就是一个返回指针的函数 其本质是一个函数 而该函数的返回值是一个指针 声明格式为 类型标识符 函数名 参数表 这似乎并不难理解 再进一步描述一下 看看下面这个函数声明 int fun int x i
  • OSI七层协议模型及其协议

    文章目录 一 OSI七层模型是什么 其协议有哪些 二 TCP IP四层协议 TCP IP五层协议 OSI七层协议是什么 一 OSI七层模型是什么 其协议有哪些 二 TCP IP四层协议 TCP IP五层协议 OSI七层协议是什么 一 1 O
  • php如何处理高并发请求

    PHP 处理高并发请求的方法 使用异步框架 通过使用异步处理方式 可以有效地降低 PHP 处理请求的响应时间 避免因为 IO 操作而导致的等待阻塞 常用的异步框架有ReactPHP和Swoole等 使用缓存 使用缓存可以减少每个请求都需要访
  • Open3D——RGBD图转化为点云(pcd)并显示

    1 用Open3D分别读取RGB图片和深度图片 彩色图 深度图 2 把Open3D中的RGBD图片转化pcd格式并储存 3 显示点云 直接看代码 Open3D www open3d org The MIT License MIT See l