This function is an extended version of cvInitUndistortMap. That is, in addition to the correction of lens distortion, the function can also apply arbitrary perspective transformation R and finally it can scale and shift the image according to the new camera matrix

C# | Visual Basic | Visual C++ |
public static void cvInitUndistortRectifyMap( IntPtr cameraMatrix, IntPtr distCoeffs, IntPtr R, IntPtr newCameraMatrix, IntPtr mapx, IntPtr mapy )

- cameraMatrix (IntPtr)
- The camera matrix A=[fx 0 cx; 0 fy cy; 0 0 1]
- distCoeffs (IntPtr)
- The vector of distortion coefficients, 4x1, 1x4, 5x1 or 1x5
- R (IntPtr)
- The rectification transformation in object space (3x3 matrix). R1 or R2, computed by cvStereoRectify can be passed here. If the parameter is NULL, the identity matrix is used
- newCameraMatrix (IntPtr)
- The new camera matrix A'=[fx' 0 cx'; 0 fy' cy'; 0 0 1]
- mapx (IntPtr)
- The output array of x-coordinates of the map
- mapy (IntPtr)
- The output array of y-coordinates of the map