[][src]Function opencv::calib3d::compose_rt

pub fn compose_rt(
    rvec1: &dyn ToInputArray,
    tvec1: &dyn ToInputArray,
    rvec2: &dyn ToInputArray,
    tvec2: &dyn ToInputArray,
    rvec3: &mut dyn ToOutputArray,
    tvec3: &mut dyn ToOutputArray,
    dr3dr1: &mut dyn ToOutputArray,
    dr3dt1: &mut dyn ToOutputArray,
    dr3dr2: &mut dyn ToOutputArray,
    dr3dt2: &mut dyn ToOutputArray,
    dt3dr1: &mut dyn ToOutputArray,
    dt3dt1: &mut dyn ToOutputArray,
    dt3dr2: &mut dyn ToOutputArray,
    dt3dt2: &mut dyn ToOutputArray
) -> Result<()>

Combines two rotation-and-shift transformations.

Parameters

  • rvec1: First rotation vector.
  • tvec1: First translation vector.
  • rvec2: Second rotation vector.
  • tvec2: Second translation vector.
  • rvec3: Output rotation vector of the superposition.
  • tvec3: Output translation vector of the superposition.
  • dr3dr1: Optional output derivative of rvec3 with regard to rvec1
  • dr3dt1: Optional output derivative of rvec3 with regard to tvec1
  • dr3dr2: Optional output derivative of rvec3 with regard to rvec2
  • dr3dt2: Optional output derivative of rvec3 with regard to tvec2
  • dt3dr1: Optional output derivative of tvec3 with regard to rvec1
  • dt3dt1: Optional output derivative of tvec3 with regard to tvec1
  • dt3dr2: Optional output derivative of tvec3 with regard to rvec2
  • dt3dt2: Optional output derivative of tvec3 with regard to tvec2

The functions compute:

block formula

where inline formula denotes a rotation vector to a rotation matrix transformation, and inline formula denotes the inverse transformation. See Rodrigues for details.

Also, the functions can compute the derivatives of the output vectors with regards to the input vectors (see matMulDeriv ). The functions are used inside stereoCalibrate but can also be used in your own code where Levenberg-Marquardt or another gradient-based solver is used to optimize a function that contains a matrix multiplication.

C++ default parameters

  • dr3dr1: noArray()
  • dr3dt1: noArray()
  • dr3dr2: noArray()
  • dr3dt2: noArray()
  • dt3dr1: noArray()
  • dt3dt1: noArray()
  • dt3dr2: noArray()
  • dt3dt2: noArray()