open3d.pipelines.odometry.compute_rgbd_odometry#

open3d.pipelines.odometry.compute_rgbd_odometry(rgbd_source, rgbd_target, pinhole_camera_intrinsic=(with default value), odo_init=(with default value), jacobian=RGBDOdometryJacobianFromHybridTerm, option=(with default value))#

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) –

    Camera intrinsic parameters Default value:

    PinholeCameraIntrinsic with width = -1 and height = -1. Access intrinsics with intrinsic_matrix.

  • odo_init (numpy.ndarray[numpy.float64[4, 4]], optional) –

    Initial 4x4 motion matrix estimation. Default value:

    array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]])

  • 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) –

    Odometry hyper parameters. Default value:

    OdometryOption class. iteration_number_per_pyramid_level = [ 20, 10, 5, ] depth_diff_max = 0.030000 depth_min = 0.000000 depth_max = 4.000000

Returns:

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