Commit Graph

54 Commits

Author SHA1 Message Date
Alexander Alekhin
96b26dc8f4 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-20 19:47:27 +03:00
atinfinity
f81fdd58da
Merge pull request #16445 from atinfinity:fixed-typo
* fixed typo

* add compatibility code to handle migration
2020-02-16 19:16:33 +03:00
Brian Wignall
f9c514b391 Fix spelling typos
backport commit 659ffaddb4
2019-12-27 12:46:53 +00:00
Brian Wignall
659ffaddb4 Fix spelling typos 2019-12-26 06:45:03 -05:00
luz.paz
57ccf14952 FIx misc. source and comment typos
Found via `codespell -q 3 -S ./3rdparty,./modules -L amin,ang,atleast,dof,endwhile,hist,uint`

backporting of commit: 32aba5e64b
2019-08-15 13:09:52 +03:00
luz.paz
32aba5e64b FIx misc. source and comment typos
Found via `codespell -q 3 -S ./3rdparty,./modules -L amin,ang,atleast,dof,endwhile,hist,uint`
2019-08-14 13:33:49 -04:00
Alexander Alekhin
c9fc27b337 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-05 19:08:23 +00:00
Alexander Alekhin
d38869eb76 docs: fix links
- replace tutorial links via docs.opencv.org
- remove link on OpenCV 2.4
- avoid links on outdated packages
2019-04-04 18:57:22 +03:00
Alexander Alekhin
bd1fd59fc1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-13 19:13:13 +00:00
LaurentBerger
af0a83f0b3 Tutorial create pattern grid for calibration using gen_pattern.py 2019-03-12 08:29:17 +01:00
Wenfeng CAI
31be03a805 Merge pull request #12772 from xoox:calib-release-object
More accurate pinhole camera calibration with imperfect planar target (#12772)
43 commits:

* Add derivatives with respect to object points

Add an output parameter to calculate derivatives of image points with
respect to 3D coordinates of object points. The output jacobian matrix
is a 2Nx3N matrix where N is the number of points.

This commit introduces incompatibility to old function signature.

* Set zero for dpdo matrix before using

dpdo is a sparse matrix with only non-zero value close to major
diagonal. Set it to zero because only elements near major diagonal are
computed.

* Add jacobian columns to projectPoints()

The output jacobian matrix of derivatives with respect to coordinates of
3D object points are added. This might break callers who assume the
columns of jacobian matrix.

* Adapt test code to updated project functions

The test cases for projectPoints() and cvProjectPoints2() are updated to
fit new function signatures.

* Add accuracy test code for dpdo

* Add badarg test for dpdo

* Add new enum item for new calibration method

CALIB_RELEASE_OBJECT is used to whether to release 3D coordinates of
object points. The method was proposed in: K. H. Strobl and G. Hirzinger.
"More Accurate Pinhole Camera Calibration with Imperfect Planar Target".
In Proceedings of the IEEE International Conference on Computer Vision
(ICCV 2011), 1st IEEE Workshop on Challenges and Opportunities in Robot
Perception, Barcelona, Spain, pp. 1068-1075, November 2011.

* Add releasing object method into internal function

It's a simple extension of the standard calibration scheme. We choose to
fix the first and last object point and a user-selected fixed point.

* Add interfaces for extended calibration method

* Refine document for calibrateCamera()

When releasing object points, only the z coordinates of the
objectPoints[0].back is fixed.

* Add link to strobl2011iccv paper

* Improve documentation for calibrateCamera()

* Add implementations of wrapping calibrateCamera()

* Add checking for params of new calibration method

If input parameters are not qualified, then fall back to standard
calibration method.

* Add camera calibration method of releasing object

The current implementation is equal to or better than
https://github.com/xoox/calibrel

* Update doc for CALIB_RELEASE_OBJECT

CALIB_USE_QR or CALIB_USE_LU could be used for faster calibration with
potentially less precise and less stable in some rare cases.

* Add RELEASE_OBJECT calibration to tutorial code

To select the calibration method of releasing object points, a command
line parameter `-d=<number>` should be provided.

* Update tutorial doc for camera_calibration

If the method of releasing object points is merged into OpenCV. It will
be expected to be firstly released in 4.1, I think.

* Reduce epsilon for cornerSubPix()

Epsilon of 0.1 is a bigger one. Preciser corner positions are required
with calibration method of releasing object.

* Refine camera calibration tutorial

The hypothesis coordinates are used to indicate which distance must be
measured between two specified object points.

* Update sample calibration code method selection

Similar to camera_calibration tutorial application, a command line
argument `-dt=<number>` is used to select the calibration method.

* Add guard to flags of cvCalibrateCamera2()

cvCalibrateCamera2() doesn't accept CALIB_RELEASE_OBJECT unless overload
interface is added in the future.

* Simplify fallback when iFixedPoint is out of range

* Refactor projectPoints() to keep compatibilities

* Fix arg string "Bad rvecs header"

* Read calibration flags from test data files

Instead of being hard coded into source file, the calibration flags will
be read from test data files.
opencv_extra/testdata/cv/cameracalibration/calib?.dat must be sync with
the test code.

* Add new C interface of cvCalibrateCamera4()

With this new added C interface, the extended calibration method with
CALIB_RELEASE_OBJECT can be called by C API.

* Add regression test of extended calibration method

It has been tested with new added test data in xoox:calib-release-object
branch of opencv_extra.

* Fix assertion in test_cameracalibration.cpp

The total number of refined 3D object coordinates is checked.

* Add checker for iFixedPoint in cvCalibrateCamera4

If iFixedPoint is out of rational range, fall back to standard method.

* Fix documentation for overloaded calibrateCamera()

* Remove calibration flag of CALIB_RELEASE_OBJECT

The method selection is based on the range of the index of fixed point.
For minus values, standard calibration method will be chosen.  Values in
a rational range will make the object-releasing calibration method
selected.

* Use new interfaces instead of function overload

Existing interfaces are preserved and new interfaces are added. Since
most part of the code base are shared, calibrateCamera() is now a
wrapper function of calibrateCameraRO().

* Fix exported name of calibrateCameraRO()

* Update documentation for calibrateCameraRO()

The circumstances where this method is mostly helpful are described.

* Add note on the rigidity of the calibration target

* Update documentation for calibrateCameraRO()

It is clarified that iFixedPoint is used as a switch to select
calibration method. If input data are not qualified, exceptions will be
thrown instead of fallback scheme.

* Clarify iFixedPoint as switch and remove fallback

iFixedPoint is now used as a switch for calibration method selection. No
fallback scheme is utilized anymore. If the input data are not
qualified, exceptions will be thrown.

* Add badarg test for object-releasing method

* Fix document format of sample list

List items of same level should be indented the same way. Otherwise they
will be formatted as nested lists by Doxygen.

* Add brief intro for objectPoints and imagePoints

* Sync tutorial to sample calibration code

* Update tutorial compatibility version to 4.0
2018-10-25 19:38:55 +03:00
Alexander Alekhin
4eb2966559 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-08-07 20:12:10 +03:00
luz.paz
2003eb1b9b Misc. typos
Found via `codespell -q 3 -I ../opencv-whitelist.txt --skip="./3rdparty"`
2018-07-31 18:44:23 +03:00
Alexander Alekhin
9ba9358ecb documentation: avoid links to 'master' branch from 3.4 maintenance branch 2018-05-31 16:45:18 +03:00
KUANG Fangjun
67acfc6e25 improve doc. 2017-10-31 10:30:01 +01:00
Alexander Alekhin
69e5ac6f02 doc: fix youtube videos handling 2017-10-17 13:50:56 +03:00
Adeel Ahmad
bc7f6fc44c Merge pull request #8253 from adl1995:master
* Update linux_install.markdown

Grammar improvements, fixed typos.

* Update tutorials.markdown

Improvements in grammar.

* Update table_of_content_calib3d.markdown

* Update camera_calibration_square_chess.markdown

Improvements in grammar. Added answer.

* Update tutorials.markdown

* Update erosion_dilatation.markdown

* Update table_of_content_imgproc.markdown

* Update warp_affine.markdown

* Update camera_calibration_square_chess.markdown

Removed extra space.

* Update gpu_basics_similarity.markdown

Grammatical improvements, fixed typos.

* Update trackbar.markdown

Improvement for better understanding.
2017-03-01 18:44:34 +00:00
Alexander Alekhin
ddc0b42bc3 migration: github.com/opencv/opencv 2016-07-12 12:51:12 +03:00
Vladislav Sovrasov
5a0c04409b Add interactive calibration app 2016-04-25 11:58:19 +03:00
Maksim Shabunin
c8cb03fd8f Replaced 'corrected' to 'distorted' in camera calibration tutorials 2015-05-13 18:46:21 +03:00
Pavel Rojtberg
7c5084e385 - update documentation
* correct the part about fixed aspect
    * improve formatting
    * add snippet markers to source
    * replace inline code by @snippet
  - do not run calibration twice when using a imageList
  - make output consistent in itself (CamelCase vs no_camel_case) as well as with old camera calibrate sample
  - respect write extrinsic/ points flags
  - set the aspectRatio value when specified
  - fix writing of calibration settings. also update grammar.
  - fix intendation and remove some size_t -> int casts by using size_t
2015-03-31 15:45:57 +02:00
Maksim Shabunin
b4050c775e Updated sample files documentation inclusions 2014-12-26 19:17:18 +03:00
Maksim Shabunin
ad6a80f68c Moved tutorial table-of-contents files to corresponding root level 2014-12-26 19:17:14 +03:00
Maksim Shabunin
d01bedbc61 Removed Sphinx documentation files 2014-12-26 19:12:19 +03:00
Maksim Shabunin
ecfd056111 Fixed whitespace warnings in new tutorials 2014-12-05 15:33:53 +03:00
Maksim Shabunin
d3beb755df Doxygen tutorials: support contrib, some minor changes 2014-12-01 19:22:04 +03:00
Maksim Shabunin
36a04ef8de Doxygen tutorials: cpp done 2014-12-01 16:05:38 +03:00
Maksim Shabunin
c5536534d8 Doxygen tutorials: warnings cleared 2014-12-01 16:05:38 +03:00
Maksim Shabunin
8375182e34 Doxygen tutorials: basic structure 2014-12-01 16:05:37 +03:00
Maksim Shabunin
220f671655 Doxygen tutorials: some fixes in RST-docs 2014-12-01 16:05:37 +03:00
berak
7cb3f3def7 change remaining c-api CV_ prefixes in constants 2014-10-04 14:10:12 +02:00
Alexander Shishkov
acc2efab50 updated links to the official OpenCV youtube channel 2014-09-01 11:28:43 +04:00
edgarriba
e2edfecb80 fixed white space 2014-08-09 21:08:46 +02:00
edgarriba
591355d2c8 remove whitespaces 2014-08-09 20:49:44 +02:00
edgarriba
9547110533 Update tutorial 2014-08-09 19:47:42 +02:00
edgarriba
7b0be9cf8f Update code 2014-08-05 17:27:20 +02:00
edgarriba
2353436cb5 Removed whitespace 2014-08-05 16:53:30 +02:00
edgarriba
4447dbe265 Removed whitespace 2014-08-05 16:41:07 +02:00
edgarriba
e3afc32693 Removed whitespace 2014-08-05 16:16:05 +02:00
edgarriba
56704b5e95 Update tutorial 2014-07-31 11:47:59 +02:00
edgarriba
9a25cb012d Update some text 2014-07-30 17:05:06 +02:00
edgarriba
0ac84755a0 Update tutorial 2014-07-30 12:10:29 +02:00
edgarriba
89246e1a45 Update Ransac documentation 2014-07-09 10:59:00 +02:00
edgarriba
e395e03040 Real Time Pose tutorial 2014-07-08 16:34:49 +02:00
Roman Donchenko
e9a28f66ee Normalized file endings. 2013-08-21 18:59:25 +04:00
Roman Donchenko
f55740da70 Deleted all trailing whitespace. 2013-08-21 18:59:24 +04:00
Dmitry Retinskiy
2765f3f7ad Minor language corrections in the tutorial document 2013-08-09 10:32:34 +04:00
Alexander Shishkov
93200922fd Fix bug with indices 2013-06-14 13:12:35 +04:00
OpenCV Buildbot
04384a71e4 Normalize line endings and whitespace 2012-10-17 15:32:23 +04:00
Vsevolod Glumov
1f21b96b9d Fixed the formulas, based on issue #2145 2012-10-11 03:26:23 +04:00