Skip to content

Commit 6e4dacc

Browse files
committed
Merge pull request opencv#9971 from csukuangfj:fix-doc
2 parents 87984f2 + 67acfc6 commit 6e4dacc

File tree

7 files changed

+28
-28
lines changed

7 files changed

+28
-28
lines changed

doc/tutorials/calib3d/real_time_pose/real_time_pose.markdown

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ object in the case of computer vision area to do later some 3D rendering or in t
77
obtain an object pose in order to grasp it and do some manipulation. However, this is not a trivial
88
problem to solve due to the fact that the most common issue in image processing is the computational
99
cost of applying a lot of algorithms or mathematical operations for solving a problem which is basic
10-
and immediateley for humans.
10+
and immediately for humans.
1111

1212
Goal
1313
----
@@ -63,7 +63,7 @@ The tutorial consists of two main programs:
6363

6464
-# **Model registration**
6565

66-
This applicaton is exclusive to whom don't have a 3D textured model of the object to be detected.
66+
This application is exclusive to whom don't have a 3D textured model of the object to be detected.
6767
You can use this program to create your own textured 3D model. This program only works for planar
6868
objects, then if you want to model an object with complex shape you should use a sophisticated
6969
software to create it.
@@ -110,7 +110,7 @@ The tutorial consists of two main programs:
110110
-c, --confidence (value:0.95)
111111
RANSAC confidence
112112
-e, --error (value:2.0)
113-
RANSAC reprojection errror
113+
RANSAC reprojection error
114114
-f, --fast (value:true)
115115
use of robust fast match
116116
-h, --help (value:true)
@@ -269,7 +269,7 @@ Here is explained in detail the code for the real time application:
269269

270270
Firstly, we have to set which matcher we want to use. In this case is used
271271
@ref cv::FlannBasedMatcher matcher which in terms of computational cost is faster than the
272-
@ref cv::BFMatcher matcher as we increase the trained collectction of features. Then, for
272+
@ref cv::BFMatcher matcher as we increase the trained collection of features. Then, for
273273
FlannBased matcher the index created is *Multi-Probe LSH: Efficient Indexing for High-Dimensional
274274
Similarity Search* due to *ORB* descriptors are binary.
275275

@@ -381,12 +381,12 @@ Here is explained in detail the code for the real time application:
381381
as not, there are false correspondences or also called *outliers*. The [Random Sample
382382
Consensus](http://en.wikipedia.org/wiki/RANSAC) or *Ransac* is a non-deterministic iterative
383383
method which estimate parameters of a mathematical model from observed data producing an
384-
aproximate result as the number of iterations increase. After appyling *Ransac* all the *outliers*
384+
approximate result as the number of iterations increase. After appyling *Ransac* all the *outliers*
385385
will be eliminated to then estimate the camera pose with a certain probability to obtain a good
386386
solution.
387387

388388
For the camera pose estimation I have implemented a *class* **PnPProblem**. This *class* has 4
389-
atributes: a given calibration matrix, the rotation matrix, the translation matrix and the
389+
attributes: a given calibration matrix, the rotation matrix, the translation matrix and the
390390
rotation-translation matrix. The intrinsic calibration parameters of the camera which you are
391391
using to estimate the pose are necessary. In order to obtain the parameters you can check
392392
@ref tutorial_camera_calibration_square_chess and @ref tutorial_camera_calibration tutorials.
@@ -406,7 +406,7 @@ Here is explained in detail the code for the real time application:
406406

407407
PnPProblem pnp_detection(params_WEBCAM); // instantiate PnPProblem class
408408
@endcode
409-
The following code is how the *PnPProblem class* initialises its atributes:
409+
The following code is how the *PnPProblem class* initialises its attributes:
410410
@code{.cpp}
411411
// Custom constructor given the intrinsic camera parameters
412412

@@ -431,13 +431,13 @@ Here is explained in detail the code for the real time application:
431431
surfaces and sometimes the pose estimation seems to have a mirror effect. Therefore, in this this
432432
tutorial is used ITERATIVE method due to the object to be detected has planar surfaces.
433433

434-
The OpenCV Ransac implementation wants you to provide three parameters: the maximum number of
434+
The OpenCV RANSAC implementation wants you to provide three parameters: the maximum number of
435435
iterations until stop the algorithm, the maximum allowed distance between the observed and
436436
computed point projections to consider it an inlier and the confidence to obtain a good result.
437-
You can tune these paramaters in order to improve your algorithm performance. Increasing the
437+
You can tune these parameters in order to improve your algorithm performance. Increasing the
438438
number of iterations you will have a more accurate solution, but will take more time to find a
439439
solution. Increasing the reprojection error will reduce the computation time, but your solution
440-
will be unaccurate. Decreasing the confidence your arlgorithm will be faster, but the obtained
440+
will be unaccurate. Decreasing the confidence your algorithm will be faster, but the obtained
441441
solution will be unaccurate.
442442

443443
The following parameters work for this application:
@@ -446,7 +446,7 @@ Here is explained in detail the code for the real time application:
446446

447447
int iterationsCount = 500; // number of Ransac iterations.
448448
float reprojectionError = 2.0; // maximum allowed distance to consider it an inlier.
449-
float confidence = 0.95; // ransac successful confidence.
449+
float confidence = 0.95; // RANSAC successful confidence.
450450
@endcode
451451
The following code corresponds to the *estimatePoseRANSAC()* function which belongs to the
452452
*PnPProblem class*. This function estimates the rotation and translation matrix given a set of
@@ -458,7 +458,7 @@ Here is explained in detail the code for the real time application:
458458
void PnPProblem::estimatePoseRANSAC( const std::vector<cv::Point3f> &list_points3d, // list with model 3D coordinates
459459
const std::vector<cv::Point2f> &list_points2d, // list with scene 2D coordinates
460460
int flags, cv::Mat &inliers, int iterationsCount, // PnP method; inliers container
461-
float reprojectionError, float confidence ) // Ransac parameters
461+
float reprojectionError, float confidence ) // RANSAC parameters
462462
{
463463
cv::Mat distCoeffs = cv::Mat::zeros(4, 1, CV_64FC1); // vector of distortion coefficients
464464
cv::Mat rvec = cv::Mat::zeros(3, 1, CV_64FC1); // output rotation vector
@@ -479,8 +479,8 @@ Here is explained in detail the code for the real time application:
479479
}
480480
@endcode
481481
In the following code are the 3th and 4th steps of the main algorithm. The first, calling the
482-
above function and the second taking the output inliers vector from Ransac to get the 2D scene
483-
points for drawing purpose. As seen in the code we must be sure to apply Ransac if we have
482+
above function and the second taking the output inliers vector from RANSAC to get the 2D scene
483+
points for drawing purpose. As seen in the code we must be sure to apply RANSAC if we have
484484
matches, in the other case, the function @ref cv::solvePnPRansac crashes due to any OpenCV *bug*.
485485
@code{.cpp}
486486
if(good_matches.size() > 0) // None matches, then RANSAC crashes
@@ -558,7 +558,7 @@ Here is explained in detail the code for the real time application:
558558

559559
\f[X = (x,y,z,\dot x,\dot y,\dot z,\ddot x,\ddot y,\ddot z,\psi,\theta,\phi,\dot \psi,\dot \theta,\dot \phi,\ddot \psi,\ddot \theta,\ddot \phi)^T\f]
560560

561-
Secondly, we have to define the number of measuremnts which will be 6: from \f$R\f$ and \f$t\f$ we can
561+
Secondly, we have to define the number of measurements which will be 6: from \f$R\f$ and \f$t\f$ we can
562562
extract \f$(x,y,z)\f$ and \f$(\psi,\theta,\phi)\f$. In addition, we have to define the number of control
563563
actions to apply to the system which in this case will be *zero*. Finally, we have to define the
564564
differential time between measurements which in this case is \f$1/T\f$, where *T* is the frame rate of

doc/tutorials/calib3d/table_of_content_calib3d.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,6 @@ Although we get most of our images in a 2D format they do come from a 3D world.
3737
*Author:* Vladislav Sovrasov
3838

3939
Camera calibration by using either the chessboard, chAruco, asymmetrical circle or dual asymmetrical circle
40-
pattern. Calibration process is continious, so you can see results after each new pattern shot.
40+
pattern. Calibration process is continuous, so you can see results after each new pattern shot.
4141
As an output you get average reprojection error, intrinsic camera parameters, distortion coefficients and
4242
confidence intervals for all of evaluated variables.

modules/calib3d/include/opencv2/calib3d.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ and a rotation matrix.
396396
It optionally returns three rotation matrices, one for each axis, and the three Euler angles in
397397
degrees (as the return value) that could be used in OpenGL. Note, there is always more than one
398398
sequence of rotations about the three principal axes that results in the same orientation of an
399-
object, eg. see @cite Slabaugh . Returned tree rotation matrices and corresponding three Euler angules
399+
object, eg. see @cite Slabaugh . Returned tree rotation matrices and corresponding three Euler angles
400400
are only one of the possible solutions.
401401
*/
402402
CV_EXPORTS_W Vec3d RQDecomp3x3( InputArray src, OutputArray mtxR, OutputArray mtxQ,
@@ -583,7 +583,7 @@ projections, as well as the camera matrix and the distortion coefficients.
583583
it as, e.g., imagePoints, one must effectively copy it into a new array: imagePoints =
584584
np.ascontiguousarray(D[:,:2]).reshape((N,1,2))
585585
- The methods **SOLVEPNP_DLS** and **SOLVEPNP_UPNP** cannot be used as the current implementations are
586-
unstable and sometimes give completly wrong results. If you pass one of these two
586+
unstable and sometimes give completely wrong results. If you pass one of these two
587587
flags, **SOLVEPNP_EPNP** method will be used instead.
588588
- The minimum number of points is 4. In the case of **SOLVEPNP_P3P** and **SOLVEPNP_AP3P**
589589
methods, it is required to use exactly 4 points (the first 3 points are used to estimate all the solutions
@@ -1371,9 +1371,9 @@ be floating-point (single or double precision).
13711371
@param cameraMatrix Camera matrix \f$K = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\f$ .
13721372
Note that this function assumes that points1 and points2 are feature points from cameras with the
13731373
same camera matrix.
1374-
@param method Method for computing a fundamental matrix.
1374+
@param method Method for computing an essential matrix.
13751375
- **RANSAC** for the RANSAC algorithm.
1376-
- **MEDS** for the LMedS algorithm.
1376+
- **LMEDS** for the LMedS algorithm.
13771377
@param prob Parameter used for the RANSAC or LMedS methods only. It specifies a desirable level of
13781378
confidence (probability) that the estimated matrix is correct.
13791379
@param threshold Parameter used for RANSAC. It is the maximum distance from a point to an epipolar
@@ -1655,7 +1655,7 @@ to 3D points with a very large Z value (currently set to 10000).
16551655
depth. ddepth can also be set to CV_16S, CV_32S or CV_32F.
16561656
16571657
The function transforms a single-channel disparity map to a 3-channel image representing a 3D
1658-
surface. That is, for each pixel (x,y) andthe corresponding disparity d=disparity(x,y) , it
1658+
surface. That is, for each pixel (x,y) and the corresponding disparity d=disparity(x,y) , it
16591659
computes:
16601660
16611661
\f[\begin{array}{l} [X \; Y \; Z \; W]^T = \texttt{Q} *[x \; y \; \texttt{disparity} (x,y) \; 1]^T \\ \texttt{\_3dImage} (x,y) = (X/W, \; Y/W, \; Z/W) \end{array}\f]
@@ -1704,7 +1704,7 @@ CV_EXPORTS_W int estimateAffine3D(InputArray src, InputArray dst,
17041704
@param from First input 2D point set.
17051705
@param to Second input 2D point set.
17061706
@param inliers Output vector indicating which points are inliers.
1707-
@param method Robust method used to compute tranformation. The following methods are possible:
1707+
@param method Robust method used to compute transformation. The following methods are possible:
17081708
- cv::RANSAC - RANSAC-based robust method
17091709
- cv::LMEDS - Least-Median robust method
17101710
RANSAC is the default method.
@@ -1744,7 +1744,7 @@ two 2D point sets.
17441744
@param from First input 2D point set.
17451745
@param to Second input 2D point set.
17461746
@param inliers Output vector indicating which points are inliers.
1747-
@param method Robust method used to compute tranformation. The following methods are possible:
1747+
@param method Robust method used to compute transformation. The following methods are possible:
17481748
- cv::RANSAC - RANSAC-based robust method
17491749
- cv::LMEDS - Least-Median robust method
17501750
RANSAC is the default method.
@@ -2043,7 +2043,7 @@ namespace fisheye
20432043
@param alpha The skew coefficient.
20442044
@param distorted Output array of image points, 1xN/Nx1 2-channel, or vector\<Point2f\> .
20452045
2046-
Note that the function assumes the camera matrix of the undistorted points to be indentity.
2046+
Note that the function assumes the camera matrix of the undistorted points to be identity.
20472047
This means if you want to transform back points undistorted with undistortPoints() you have to
20482048
multiply them with \f$P^{-1}\f$.
20492049
*/

modules/calib3d/src/calibration.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2997,7 +2997,7 @@ cvRQDecomp3x3( const CvMat *matrixM, CvMat *matrixR, CvMat *matrixQ,
29972997
eulerAngles->z = acos(_Qz[0][0]) * (_Qz[0][1] >= 0 ? 1 : -1) * (180.0 / CV_PI);
29982998
}
29992999

3000-
/* Calulate orthogonal matrix. */
3000+
/* Calculate orthogonal matrix. */
30013001
/*
30023002
Q = QzT * QyT * QxT
30033003
*/

modules/calib3d/src/fundam.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ class HomographyEstimatorCallback : public PointSetRegistrator::Callback
171171
float ww = 1.f/(Hf[6]*M[i].x + Hf[7]*M[i].y + 1.f);
172172
float dx = (Hf[0]*M[i].x + Hf[1]*M[i].y + Hf[2])*ww - m[i].x;
173173
float dy = (Hf[3]*M[i].x + Hf[4]*M[i].y + Hf[5])*ww - m[i].y;
174-
err[i] = (float)(dx*dx + dy*dy);
174+
err[i] = dx*dx + dy*dy;
175175
}
176176
}
177177
};

modules/calib3d/src/ptsetreg.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,7 @@ class Affine2DEstimatorCallback : public PointSetRegistrator::Callback
594594
bool checkSubset( InputArray _ms1, InputArray, int count ) const
595595
{
596596
Mat ms1 = _ms1.getMat();
597-
// check colinearity and also check that points are too close
597+
// check collinearity and also check that points are too close
598598
// only ms1 affects actual estimation stability
599599
return !haveCollinearPoints(ms1, count);
600600
}

modules/video/src/lkpyramid.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1610,7 +1610,7 @@ cv::Mat cv::estimateRigidTransform( InputArray src1, InputArray src2, bool fullA
16101610
Point2f a[RANSAC_SIZE0];
16111611
Point2f b[RANSAC_SIZE0];
16121612

1613-
// choose random 3 non-complanar points from A & B
1613+
// choose random 3 non-coplanar points from A & B
16141614
for( i = 0; i < RANSAC_SIZE0; i++ )
16151615
{
16161616
for( k1 = 0; k1 < RANSAC_MAX_ITERS; k1++ )

0 commit comments

Comments
 (0)