open3d.pipelines.odometry.compute_rgbd_odometry#
- open3d.pipelines.odometry.compute_rgbd_odometry(rgbd_source: open3d.geometry.RGBDImage, rgbd_target: open3d.geometry.RGBDImage, pinhole_camera_intrinsic: open3d.camera.PinholeCameraIntrinsic = PinholeCameraIntrinsic(width=-1, height=-1), odo_init: numpy.ndarray[numpy.float64[4, 4]] = array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]), jacobian: open3d.pipelines.odometry.RGBDOdometryJacobian = RGBDOdometryJacobianFromHybridTerm, option: open3d.pipelines.odometry.OdometryOption = OdometryOption(iteration_number_per_pyramid_level=[20, 10, 5], depth_diff_max=0.03, depth_min=0, depth_max=4)) tuple[bool, numpy.ndarray[numpy.float64[4, 4]], numpy.ndarray[numpy.float64[6, 6]]] #
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(width=-1, height=-1, )) – 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()
orRGBDOdometryJacobianFromColorTerm().
option (open3d.pipelines.odometry.OdometryOption, optional, default=OdometryOption( iteration_number_per_pyramid_level=[ 20, 10, 5, ] , depth_diff_max=0.03, depth_min=0, depth_max=4, )) – Odometry hyper parameters.
- Returns:
tuple[bool, numpy.ndarray[numpy.float64[4, 4]], numpy.ndarray[numpy.float64[6, 6]]]