当前位置:   article > 正文

Python Open3D几何图形 基础篇(三) RGBD图像_open3d.pinholecameraintrinsic

open3d.pinholecameraintrinsic

Python Open3D几何图形 基础篇(三) RGBD图像

本文所参考网页:
RGBD images — Open3D 0.15.1 documentation

  • Open3D中有一个关于图像的数据结构。它支持各种函数,如read_image, write_image, filter_image and draw_geometries 。 Open3D图像可以直接转换为一个numpy数组或从numpy数组转换为Open3D图像。
  • 一个Open3D 的RGBDImage 由两个部分组成,RGBDImage.depthRGBDImage.color。我们需要将两幅图像配准(registered)到同一个相机帧中,并具有相同的分辨率。
  • 以下教程介绍如何从许多著名的RGBD数据集中读取和使用RGBD图像。

Redwood 数据集(Redwood dataset

  • 在本章节会展示如何去读取和可视化Redwood dataset [Choi2015]_ 中的 RGBDImage

  • Redwood 格式将深度存储在16位单通道图像中。整数值表示深度测量值,单位为毫米。这是Open3D解析深度图像的默认格式

    print("Read Redwood dataset")
    redwood_rgbd = o3d.data.SampleRedwoodRGBDImages()
    color_raw = o3d.io.read_image(redwood_rgbd.color_paths[0])
    depth_raw = o3d.io.read_image(redwood_rgbd.depth_paths[0])
    rgbd_image = o3d.geometry.RGBDImage.create_from_color_and_depth(
        color_raw, depth_raw)
    print(rgbd_image)
    
    """
    RGBDImage of size
    Color image : 640x480, with 1 channels.
    Depth image : 640x480, with 1 channels.
    Use numpy.asarray to access buffer data.
    """
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 默认的转换函数create_rgbd_image_from_color_and_depth 从一对颜色和深度图像创建RGBDImage。彩色图像被转换为灰度图像,存储在float 范围为[0,1]。深度图像以float 形式存储,以米为单位表示深度值。

  • 转换后的图像可以渲染为numpy数组。

    plt.subplot(1, 2, 1)
    plt.title('Redwood grayscale image')
    p
    • 1
    • 2
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号