深度图+rgb转点云

import open3d as o3d
import numpy as np

# 1. 读取图像和全局点云
image = o3d.io.read_image("/media/kj/2B9747BF3C0EC4D0/SLAMData/lidar_rgbd_bedroom/image/000000.jpg")
depth = o3d.io.read_image("/media/kj/2B9747BF3C0EC4D0/SLAMData/lidar_rgbd_bedroom/depth/000000.png")
all_pcd = o3d.io.read_point_cloud("/media/kj/2B9747BF3C0EC4D0/SLAMData/lidar_rgbd_bedroom/scan_02.ply")

# 2. 设置相机内参
intrinsic = o3d.camera.PinholeCameraIntrinsic(
    width=640,
    height=480,
    fx=525.0,
    fy=525.0,
    cx=319.5,
    cy=239.5
)

# 3. 定义位姿矩阵 (4x4)
pose = np.array([
    [1.0, -2e-08, 1e-08, 2.0000000529999999],
    [2e-08, 1.0, 1e-08, 1.999999973],
    [-1e-08, -1e-08, 1.0, -0.29999995000000002],
    [0.0, 0.0, 0.0, 1.0]
])

# 4. 创建RGBD图像
rgbd_image = o3d.geometry.RGBDImage.create_from_color_and_depth(
    color=image,
    depth=depth,
    convert_rgb_to_intensity=False
)

# 5. 使用相机内参将RGBD图像转换为点云
pcd = o3d.geometry.PointCloud.create_from_rgbd_image(
    rgbd_image,
    intrinsic
)

# 6. 将点云从相机坐标系转换到全局坐标系
pcd.transform(pose)

# 7. 显示转换后的点云
# o3d.visualization.draw_geometries([pcd, all_pcd], window_name="Image PCD with Global PCD")

# 8. 保存生成的点云
o3d.io.write_point_cloud("/media/kj/2B9747BF3C0EC4D0/SLAMData/lidar_rgbd_bedroom/generated_pcd.ply", pcd)

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Matlab中,将深度图换为三维点云的方法可以通过以下步骤来实现: 1. 首先加载深度图像和相机内参。深度图像可以使用imread函数加载,相机内参包括相机的焦距、光心等参数。 2. 根据相机内参和深度值,计算每一个像素对应的三维坐标。可以使用以下公式计算: X = (u - cx) * depth / fx Y = (v - cy) * depth / fy Z = depth 其中(u, v)为像素坐标,(cx, cy)为光心坐标,(fx, fy)为相机的焦距。 3. 将计算得到的三维坐标(X, Y, Z)保存为点云数据。可以使用PointCloud对象来保存点云数据,每一个点包括坐标和颜色信息。 4. 可以根据需要对点云进行可视化或其他后续处理。 需要注意的是,深度图像和相机内参的具体格式和数据组织方式可能会有所不同,具体的实现需要根据实际情况进行调整。此外,对于RGB图像,可以使用相同的方法将RGB图像换为点云,并将RGB信息添加到点云中。 请注意以上步骤是一种常见的方法,具体实现可能会根据实际需求和数据格式进行调整。<span class="em">1</span> #### 引用[.reference_title] - *1* [基于matlab的自适应插值法(四种不同插值算法集成)](https://download.csdn.net/download/weixin_56184890/88240081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江河地笑

实践是检验真理的唯一标准

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值