Pointcloud from RGBD does not work!

Hi There,

I am following the RGBDImage tutorial. I would like to display a pointcloud of RGBD images that I have taken with my Intel RealSense D435i camera.

What are the units for the focal length parameters of o3d.camera.pinHoleCameraIntrisic()?

  • fx ( float ) – X-axis focal length ?
  • fy ( float ) – Y-axis focal length ?

The focal length of my camera (intelRealSense D435i) is 1.88mm but that value outputs basically a flat pointcloud.

Also bonus question,

how do I display/print the PinHoleCameraIntrinsicParamers.PrimeSenseDefault?

Thank you for your help.

Best,
Sam

1 Like

I think I worked out that the the focal length units should also be in pixels. But still the pointcloud that it’s outputting is augmented.

Does anyone else have this issue? Or know why this is happening?

Best,
Sam

I believe you should set depth_unit if it is a scale problem. If it is a deformation, then it is about the calibration matrix.

Hi Sam,

I am very interested in the conclusion you arrived at! I am too working with an Intel RealSense D435i Camera generating point clouds from depth images. I do not understand why O3D would take the parameter focal length in pixels instead of in millimeters. I have not found a unique way to calculate the focal length in px from the focal length in mm. Did you?

Because I am not sure the way I have calculated f in px is correct, my point clouds are not correctly scaled.

I would be very glad to hear back from you!

Best,
Pablo