Commit 62cabb58 authored by Pavel Rojtberg's avatar Pavel Rojtberg

doxygen: undistortPoints - replace matlab code by latex forumlae

parent 4e8f8922
...@@ -2953,20 +2953,23 @@ The function is similar to cv::undistort and cv::initUndistortRectifyMap but it ...@@ -2953,20 +2953,23 @@ The function is similar to cv::undistort and cv::initUndistortRectifyMap but it
sparse set of points instead of a raster image. Also the function performs a reverse transformation sparse set of points instead of a raster image. Also the function performs a reverse transformation
to projectPoints. In case of a 3D object, it does not reconstruct its 3D coordinates, but for a to projectPoints. In case of a 3D object, it does not reconstruct its 3D coordinates, but for a
planar object, it does, up to a translation vector, if the proper R is specified. planar object, it does, up to a translation vector, if the proper R is specified.
@code
// (u,v) is the input point, (u', v') is the output point For each observed point coordinate \f$(u, v)\f$ the function computes:
// camera_matrix=[fx 0 cx; 0 fy cy; 0 0 1] \f[
// P=[fx' 0 cx' tx; 0 fy' cy' ty; 0 0 1 tz] \begin{array}{l}
x" = (u - cx)/fx x^{"} \leftarrow (u - c_x)/f_x \\
y" = (v - cy)/fy y^{"} \leftarrow (v - c_y)/f_y \\
(x',y') = undistort(x",y",dist_coeffs) (x',y') = undistort(x^{"},y^{"}, \texttt{distCoeffs}) \\
[X,Y,W]T = R*[x' y' 1]T {[X\,Y\,W]} ^T \leftarrow R*[x' \, y' \, 1]^T \\
x = X/W, y = Y/W x \leftarrow X/W \\
// only performed if P=[fx' 0 cx' [tx]; 0 fy' cy' [ty]; 0 0 1 [tz]] is specified y \leftarrow Y/W \\
u' = x*fx' + cx' \text{only performed if P is specified:} \\
v' = y*fy' + cy', u' \leftarrow x {f'}_x + {c'}_x \\
@endcode v' \leftarrow y {f'}_y + {c'}_y
where cv::undistort is an approximate iterative algorithm that estimates the normalized original \end{array}
\f]
where *undistort* is an approximate iterative algorithm that estimates the normalized original
point coordinates out of the normalized distorted point coordinates ("normalized" means that the point coordinates out of the normalized distorted point coordinates ("normalized" means that the
coordinates do not depend on the camera matrix). coordinates do not depend on the camera matrix).
...@@ -2981,7 +2984,7 @@ transformation. If matrix P is identity or omitted, dst will contain normalized ...@@ -2981,7 +2984,7 @@ transformation. If matrix P is identity or omitted, dst will contain normalized
of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed. of 4, 5, 8, 12 or 14 elements. If the vector is NULL/empty, the zero distortion coefficients are assumed.
@param R Rectification transformation in the object space (3x3 matrix). R1 or R2 computed by @param R Rectification transformation in the object space (3x3 matrix). R1 or R2 computed by
cv::stereoRectify can be passed here. If the matrix is empty, the identity transformation is used. cv::stereoRectify can be passed here. If the matrix is empty, the identity transformation is used.
@param P New camera matrix (3x3) or new projection matrix (3x4). P1 or P2 computed by @param P New camera matrix (3x3) or new projection matrix (3x4) \f$\begin{bmatrix} {f'}_x & 0 & {c'}_x & t_x \\ 0 & {f'}_y & {c'}_y & t_y \\ 0 & 0 & 1 & t_z \end{bmatrix}\f$. P1 or P2 computed by
cv::stereoRectify can be passed here. If the matrix is empty, the identity new camera matrix is used. cv::stereoRectify can be passed here. If the matrix is empty, the identity new camera matrix is used.
*/ */
CV_EXPORTS_W void undistortPoints( InputArray src, OutputArray dst, CV_EXPORTS_W void undistortPoints( InputArray src, OutputArray dst,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment