Commit e2de9628 authored by Maksim Shabunin's avatar Maksim Shabunin

Merge pull request #7220 from paroj:imgproc_doxy

parents 9e61a28b cfcf8abb
...@@ -2296,13 +2296,13 @@ The function converts a pair of maps for remap from one representation to anothe ...@@ -2296,13 +2296,13 @@ The function converts a pair of maps for remap from one representation to anothe
options ( (map1.type(), map2.type()) \f$\rightarrow\f$ (dstmap1.type(), dstmap2.type()) ) are options ( (map1.type(), map2.type()) \f$\rightarrow\f$ (dstmap1.type(), dstmap2.type()) ) are
supported: supported:
- \f$\texttt{(CV\_32FC1, CV\_32FC1)} \rightarrow \texttt{(CV\_16SC2, CV\_16UC1)}\f$. This is the - \f$\texttt{(CV_32FC1, CV_32FC1)} \rightarrow \texttt{(CV_16SC2, CV_16UC1)}\f$. This is the
most frequently used conversion operation, in which the original floating-point maps (see remap ) most frequently used conversion operation, in which the original floating-point maps (see remap )
are converted to a more compact and much faster fixed-point representation. The first output array are converted to a more compact and much faster fixed-point representation. The first output array
contains the rounded coordinates and the second array (created only when nninterpolation=false ) contains the rounded coordinates and the second array (created only when nninterpolation=false )
contains indices in the interpolation tables. contains indices in the interpolation tables.
- \f$\texttt{(CV\_32FC2)} \rightarrow \texttt{(CV\_16SC2, CV\_16UC1)}\f$. The same as above but - \f$\texttt{(CV_32FC2)} \rightarrow \texttt{(CV_16SC2, CV_16UC1)}\f$. The same as above but
the original maps are stored in one 2-channel matrix. the original maps are stored in one 2-channel matrix.
- Reverse conversion. Obviously, the reconstructed floating-point maps will not be exactly the same - Reverse conversion. Obviously, the reconstructed floating-point maps will not be exactly the same
...@@ -2352,7 +2352,7 @@ CV_EXPORTS Mat getPerspectiveTransform( const Point2f src[], const Point2f dst[] ...@@ -2352,7 +2352,7 @@ CV_EXPORTS Mat getPerspectiveTransform( const Point2f src[], const Point2f dst[]
The function calculates the \f$2 \times 3\f$ matrix of an affine transform so that: The function calculates the \f$2 \times 3\f$ matrix of an affine transform so that:
\f[\begin{bmatrix} x'_i \\ y'_i \end{bmatrix} = \texttt{map\_matrix} \cdot \begin{bmatrix} x_i \\ y_i \\ 1 \end{bmatrix}\f] \f[\begin{bmatrix} x'_i \\ y'_i \end{bmatrix} = \texttt{map_matrix} \cdot \begin{bmatrix} x_i \\ y_i \\ 1 \end{bmatrix}\f]
where where
...@@ -2382,7 +2382,7 @@ CV_EXPORTS_W void invertAffineTransform( InputArray M, OutputArray iM ); ...@@ -2382,7 +2382,7 @@ CV_EXPORTS_W void invertAffineTransform( InputArray M, OutputArray iM );
The function calculates the \f$3 \times 3\f$ matrix of a perspective transform so that: The function calculates the \f$3 \times 3\f$ matrix of a perspective transform so that:
\f[\begin{bmatrix} t_i x'_i \\ t_i y'_i \\ t_i \end{bmatrix} = \texttt{map\_matrix} \cdot \begin{bmatrix} x_i \\ y_i \\ 1 \end{bmatrix}\f] \f[\begin{bmatrix} t_i x'_i \\ t_i y'_i \\ t_i \end{bmatrix} = \texttt{map_matrix} \cdot \begin{bmatrix} x_i \\ y_i \\ 1 \end{bmatrix}\f]
where where
...@@ -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