[英]how to create a rgbd Image from numpy rgb array and depth array?
我有一个 numpy 数组,它是形状(高度,宽度,3)的彩色图像“img”,也是形状(高度,宽度)的深度 numpy 数组。 我想创建一个 RGBD 图像并显示它,为此我正在执行以下操作:
o3d.geometry.RGBDImage.create_from_color_and_depth(img, depth)
但我收到错误:
TypeError: create_from_color_and_depth(): incompatible function arguments. The following argument types are supported:
1. (color: open3d.open3d_pybind.geometry.Image, depth: open3d.open3d_pybind.geometry.Image, depth_scale: float = 1000.0, depth_trunc: float = 3.0, convert_rgb_to_intensity: bool = True) -> open3d.open3d_pybind.geometry.RGBDImage
如何解决这个问题? 如果它需要 Image 类型,那么如何将 numpy 数组转换为 Image 类型?
即使我将 numpy 数组传入 o3d.geometry.Image 构造函数,如下所示:
o3d.geometry.RGBDImage.create_from_color_and_depth(o3d.geometry.Image(img), o3d.geometry.Image(depth))
我收到错误:
TypeError: create_from_color_and_depth(): incompatible function arguments. The following argument types are supported:
1. (color: open3d.open3d_pybind.geometry.Image, depth: open3d.open3d_pybind.geometry.Image, depth_scale: float = 1000.0, depth_trunc: float = 3.0, convert_rgb_to_intensity: bool = True) -> open3d.open3d_pybind.geometry.RGBDImage
如何解决此问题并从 rgb numpy 数组和深度 numpy 数组创建 RGBD 图像?
您应该检查此函数中的convert_rgb_to_intensity
参数。 默认情况下,它将使用灰度图像。 这样,您的彩色图像应该只有一个通道。 如果你想要 RGB,将该参数设置为 false,看看它是否能解决。
此外,从 numpy 到 open3d 图像的额外注释: https : //github.com/intel-isl/Open3D/issues/957
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.