open3d.pipelines.odometry.compute_rgbd_odometry#

open3d.pipelines.odometry.compute_rgbd_odometry(rgbd_source, rgbd_target, pinhole_camera_intrinsic=PinholeCameraIntrinsic with width = -1 and height = -1. Access intrinsics with intrinsic_matrix., odo_init=array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]), jacobian=RGBDOdometryJacobianFromHybridTerm, option=OdometryOption class. iteration_number_per_pyramid_level = [ 20, 10, 5, ] depth_diff_max = 0.030000 depth_min = 0.000000 depth_max = 4.000000)#

Function to estimate 6D rigid motion from two RGBD image pairs. Output: (is_success, 4x4 motion matrix, 6x6 information matrix).

Parameters:
  • rgbd_source (open3d.geometry.RGBDImage) – Source RGBD image.

  • rgbd_target (open3d.geometry.RGBDImage) – Target RGBD image.

  • pinhole_camera_intrinsic (open3d.camera.PinholeCameraIntrinsic, optional, default=PinholeCameraIntrinsic with width = -1 and height = -1. Access intrinsics with intrinsic_matrix.) – Camera intrinsic parameters

  • odo_init (numpy.ndarray[numpy.float64[4, 4]], optional, default=array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]])) – Initial 4x4 motion matrix estimation.

  • jacobian (open3d.pipelines.odometry.RGBDOdometryJacobian, optional, default=RGBDOdometryJacobianFromHybridTerm) – The odometry Jacobian method to use. Can be RGBDOdometryJacobianFromHybridTerm() or RGBDOdometryJacobianFromColorTerm().

  • option (open3d.pipelines.odometry.OdometryOption, optional, default=OdometryOption class. iteration_number_per_pyramid_level = [ 20, 10, 5, ] depth_diff_max = 0.030000 depth_min = 0.000000 depth_max = 4.000000) – Odometry hyper parameters.

Returns:

tuple[bool, numpy.ndarray[numpy.float64[4, 4]], numpy.ndarray[numpy.float64[6, 6]]]