open3d.geometry.RGBDImage有关函数(笔记3)

Open3D有一个图像数据结构。它支持各种函数,例如read_imagewrite_imagefilter_imagedraw_geometries。Open3D 图像可以直接转换为或者从 numpy数组转换。

Open3D RGBDImage由两个图像组成,分别是RGBDImage.depthRGBDImage.color。我们要求将两个图像注册到相同的相机框架中并且具有相同的分辨率。


Redwood dataset

Redwood dataset是一个数据集。

读取和可视化 RGBDImage。

class open3d.data.SampleRedwoodRGBDImages

介绍:

SampleRedwoodRGBDImages的数据类包含来自Redwood RGBD数据集 living-room1 的 5 个颜色和深度图像的样本集。

方法:

__init__(self:open3d.data.SampleRedwoodRGBDImages,data_root:str=“”)->None

属性:

color_paths大小为 5 的彩色图像样本的路径列表。使用 color_paths[0]、color_paths[1] ... color_paths[4] 访问路径

data_root获取数据根目录。数据根在构建时设置或自动确定

depth_paths大小为 5 的深度图像样本的路径列表。使用 depth_paths[0]、depth_paths[1] ... depth_paths[4] 访问路径

download_dir获取下载目录的绝对路径

extract_dir获取提取目录的绝对路径

odometry_log_path相机里程计日志文件 odometry.log 的路径

prefix获取数据集的前缀

reconstruction_path从 TSDF 重建点云的路径

rgbd_match_path颜色和深度图像匹配文件 rgbd.match 的路径

trajectory_log_path相机轨迹日志trajectory.log 的路径

open3d.io

read_image(filename)

函数功能:

读取图像文件

参数:

filename(str)文件路径

返回:

open3d.geometry.Image

open3d.geometry.RGBDImage

create_from_color_and_depth(color,depth,depth_scale=1000.0,depth_trunc=3.0,

convert_rgb_to_intensity=True)

函数功能:

从彩色图像和深度图像生成RGBDImage的函数

参数:

color(open3d.geometry.Image)彩色图像

depth(open3d.geometry.Image)深度图像

depth_scale(float,optional,default=1000.0)比例深度值。深度值将首先被缩放,然后被截断

depth_trunc(float,optional,default=3.0)大于depth_trunc 的深度值被截断为 0。深度值将首先被缩放,然后被截断

convert_rgb_to_intensity(bool,optional,default=True)是否将 RGB 图像转换为强度图像

返回:

open3d.geometry.RGBDImage

默认转换函数 create_rgbd_image_from_color_and_depth 从一对彩色和深度图像创建一个 RGBDImage。将彩色图像转换为灰度图像,存储在 [0, 1] 范围内的浮点数(float)中。深度图像存储在浮点数中,以米为单位表示深度值。

转换后的图像可以呈现为 numpy 数组。

给定一组相机参数,RGBD图像可以转换为点云。

open3d.geometry.PointCloud

create_from_rgbd_image(image,intrinsic,extrinsic=(with default value),project_valid_depth_only=True)

函数功能:

从 RGB-D 图像和相机创建点云的函数。给定 (u, v) 图像坐标处的深度值 d,对应的 3d 点为:

z=d/depth_scale

x=(u-cx)*z/fx

y=(v-cy)*z/fy

参数:

image(open3d.geometry.RGBDImage)输入图像

intrinsic(open3d.camera.PinholeCameraIntrinsic)相机的内在参数

extrinsic(numpy.ndarray.float64,optional)数组 ([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0 ., 0., 1.]])

project_valid_depth_only(bool,optional,default=True)

返回:

open3d.geometry.PointCloud

class open3d.camera.PinholeCameraIntrinsic

介绍:

PinholeCameraIntrinsic 类存储固有的相机矩阵,以及图像的高度和宽度

方法:

__init__(self)重载功能

   1.__init__(self):默认构造函数

   2. __init__(self,arg0):复制构造函数

     arg0(open3d.camera.PinholeCameraIntrinsic)

   3.__init__(self,width:int,height:int,fx:float,fy:float,cx:float,cy:float)

   4.__init__(self,param:open3d.camera.PinholeCameraIntrinsicParmeters)

get_focal_length(self)-> Tuple[float, float]:返回 X 轴和 Y 轴焦距元组中的焦距

get_principal_point(self)-> Tuple[float, float]返回 X 轴和.Y 轴主点的元组中的主点

get_skew(self)->float返回偏斜

is_valid(self)->bool如果宽度和高度都大于 0,则返回 True

set_intrinsics(self, width:int, height:int, fx:float, fy:float, cx:float, cy:float)->None:设置相机内在参数

   width:图像的宽度

   height:图像的高度

   fx:X轴焦距

   fy:Y轴焦距

   cx:X轴原理点

   cy:Y轴原理点

属性:

height:int图像的高度

intrinsic_matrix内在相机矩阵 [[fx, 0, cx], [0, fy, cy], [0, 0, 1]]

width:int图像宽度


SUN dataset

在本节中,我们将展示如何读取和可视化 SUN 数据集的 RGBDImage。

class open3d.data.SampleSUNRGBDImage

介绍:

SampleSUNRGBDImage的数据类包含来自SUN RGBD数据集的彩色图像 SUN_color.jpg 和深度图像 SUN_depth.png 样本

方法:

__init__(self: open3d.data.SampleSUNRGBDImage,data_root=‘’)->None

属性:

color_path彩色图像样本的路径

data_root获取数据根目录。数据根在构建时设置或自动确定

depth_path深度图像样本的路径

download_dir获取下载目录的绝对路径

extract_dir获取解压目录的绝对路径

prefix获取数据集的前缀

open3d.geometry.RGBDImage

create_from_sun_format(color, depth, convert_rgb_to_intensity=True)

函数功能:

生成 RGBDImage 的函数(用于 SUN 格式)

参数:

color (open3d.geometry.Image)彩色图像

depth (open3d.geometry.Image) 深度图像

convert_rgb_to_intensity (bool, optional, default=True) 是否将 RGB 图像转换为强度图像

返回:

open3d.geometry.RGBDImage


 NYU dataset

本节介绍如何从 NYU 数据集读取和可视化 RGBDImage

create_rgbd_image_from_nyu_format 解析 SUN 数据集中的深度图像

class open3d.data.SampleNYURGBDImage

介绍:

SampleNYURGBDImage的数据类包含来自NYU RGBD数据集的彩色图像 NYU_color.ppm 和深度图像 NYU_depth.pgm 样本

方法:

__init__(self: open3d.cpu.pybind.data.SampleNYURGBDImage, data_root: str = '') → None

属性:

color_path彩色图像样本的路径

data_root获取数据根目录。数据根在构建时设置或自动确定

depth_path 深度图像样本的路径

download_dir获取下载目录的绝对路径

extract_dir获取提取目录的绝对路径

prefix获取数据集的前缀

open3d.geometry.RGBDImage

create_from_nyu_format(color, depth, convert_rgb_to_intensity=True)

函数功能:

生成 RGBDImage 的函数(适用于 NYU 格式)

参数:

color (open3d.geometry.Image) 彩色图像

depth (open3d.geometry.Image) 深度图像

convert_rgb_to_intensity (bool, optional, default=True) 是否将 RGB 图像转换为强度图像

返回:

open3d.geometry.RGBDImage


TUM dataset

open3d.geometry.RGBDImage

create_from_tum_format(color, depth, convert_rgb_to_intensity=True)

函数功能:

生成 RGBDImage 的函数(用于 TUM 格式)

参数:

color (open3d.geometry.Image) 彩色图像

depth (open3d.geometry.Image)深度图像

convert_rgb_to_intensity (bool, optional, default=True)是否将 RGB 图像转换为强度图像

返回:

open3d.geometry.RGBDImage

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值