This forum is disabled, please visit https://forum.opencv.org

1 | initial version |

To be honest, I don't know the answer in your specific case but usually the difference between the perspective projection matrix P and the camera matrix is a roto-traslation applied to the camera matrix.

The camera matrix K, also called matrix of the intrinsic parameters, is 3x3 matrix which usually depends on focal length, image centre coordinates, and skew factor. This matrix K can be extended with a further column of zeros becoming a 3x4 matrix which is the basic perspective projection matrix P. You can use the so obtained matrix P when the 3D coordinate system is placed in the camera optical centre, i.e., the 3D coordinates are given with respect to the camera location. Usually, this is not so convenient, even because the real optical centre is somewhere inside the camera and become quite difficult to measure distances with respect to that point. It's easier to have our own 3D reference system (usually the one of the calibration object), move the camera in the desired location and then calibrate the camera. This calibration will produce a matrix P' = P * [R|t] where [R|t] is rototraslation matrix (also called extrinsic parameters matrix) that allows to convert coordinates in our own reference system into the camera-based reference system.

Copyright OpenCV foundation, 2012-2018. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.