Search code examples
opencvimage-processingcomputer-visionimage-stitchingopencv-stitching

How can I get P (projection matrix) from only two CameraParams, if images already undistorted?


To get P for 1st/2nd cameras (Output 3x4 projection matrix in the new (rectified) coordinate systems for the first camera) we can use this approach: calibrateCamera() --> stereoCalibrate() --> stereoRectify(), as there: Why do we need to input both (camera_matrix 1 & 2) and (R and T) params to stereoRectify()?

But if I have not: obj_corners, img_corners, distortion_coeffs, R, T. But I already have 2 undistorted images and two CameraParams struct stitch::detail::CameraParams which I get from stitch::detail::Estimator for each of 2 images, then can I get P (3x4 projection matrix) and how can I do it?

How can I get P (projection matrix) from only two stitch::detail::CameraParams without any addition params, if images already undistorted?


Solution

  • The definition of P is P = K * [R|t], where K is the intrinsics matrix.