Create point cloud from depth or rgb_d for Realsense

Hi, I’m having trouble getting this part of my Python script
:
pinholeCamera = o3d.io.read_pinhole_camera_intrinsic(“D415_camera_intrinsic.json”)
pcd = o3d.geometry.PointCloud.create_from_rgbd_image(
im_rgbd,
pinholeCamera.intrinsic_matrix,
np.array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]]),
True)

to work for the D415 and D435i cameras. The only examples I can find use an enumeration which only has values for Primesense and Azure cameras.

The error I get is:
TypeError: create_from_rgbd_image(): incompatible function arguments. The following argument types are supported:
1. (image: open3d::geometry::RGBDImage, intrinsic: open3d.cpu.pybind.camera.PinholeCameraIntrinsic, extrinsic: numpy.ndarray[float64[4, 4]] = array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]]), project_valid_depth_only: bool = True) -> open3d.cpu.pybind.geometry.PointCloud

Invoked with: RGBD Image pair [Aligned]
Color [size=(1280,720), channels=3, format=UInt8, device=CPU:0]
Depth [size=(1280,720), channels=1, format=UInt16, device=CPU:0], array([[917.8805542 , 0. , 649.84790039],
[ 0. , 916.16467285, 361.80844116],
[ 0. , 0. , 1. ]]), array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]]), True

I thought I was supplying the correct arguments, but apparently not?

I am getting the same error. Were you able to solve it?

Have you tried dtype=float64 when you create your 4x4 array?