doxygen: undistortPoints - replace matlab code by latex forumlae
This commit is contained in:
parent
4e8f8922e2
commit
62cabb58a9
@ -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
|
|||||||
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,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user