Commit Graph

788 Commits

Author SHA1 Message Date
Alexander Smorkalov
e2ca50f1cb
Merge pull request #19539 from asmorkalov:as/calib_fix_focal_length
* Added CALIB_FIX_FOCAL_LENGTH to fisheye calibration #13450

Sometimes you want to calibrate just the principal point of a camera, or just the distortion coefficients. In this case, you can pass the CALIB_FIX_FOCAL_LENGTH flag to keep Fx and Fy

* Added test for CALIB_FIX_FOCAL_LENGTH option in fisheye callinration.
2021-03-03 14:06:59 +00:00
Alexander Alekhin
f70e80a6ba
Merge pull request #19640 from alalek:issue_19639
calib3d(usac): do not crash on empty models

* calib3d(test): regression test for issue 19639

* calib3d(usac): do not crash in setModelParameters()

* calib3d(usac): handle empty models in isModelGood()
2021-02-28 21:39:30 +00:00
Maksim Shabunin
dd5976162b Fixed several issues found by static analysis 2021-02-25 15:08:39 +03:00
Alexander Alekhin
0a6f216f83 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2021-02-21 20:14:09 +00:00
Matt Alvarado
0a7a54f312
Merge pull request #19498 from mattalvarado:fix_findcirclesgrid
* Properly handle empty centers in findCirclesGrid

* Address alalek comments. Add unit test to validate bugfix

* fix build warnings, remove unrelated comment
2021-02-16 16:18:43 +00:00
Alexander Alekhin
dd1494eebf Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-12-11 19:27:20 +00:00
Alexander Alekhin
175cd03ff2 calib3d: fix findCirclesGrid hang
- detect case with infinite loop and raise NoConv exception
- handle such exception
- add support for case with missing `blobDetector` (image contains Point2f array of candidates)
- add regression test
- undone rectification for "failed" detections too
- drop redirectError() usage
2020-12-11 07:31:50 +00:00
Alexander Alekhin
bc434e8f67 calib3d: eliminate 'register' build warning 2020-11-20 20:32:59 +00:00
Alexander Alekhin
0105f8fa38 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-11-20 20:32:00 +00:00
Nathan Godwin
2255973b0f
Merge pull request #18371 from nathanrgodwin:sqpnp_dev
Added SQPnP algorithm to SolvePnP

* Added sqpnp

* Fixed test case

* Added fix for duplicate point checking and inverse func reuse

* Changes for 3x speedup

Changed norm method (significant speed increase), changed nearest rotation computation to FOAM

* Added symmetric 3x3 inverse and unrolled loops

* Fixed error with SVD

* Fixed error from with indices

Indices were initialized negative. When nullspace is large, points coplanar, and rotation near 0, indices not changed.
2020-11-20 11:25:17 +00:00
Maksim Shabunin
d986cc4861 calib3d: uninitialzed fields in usac 2020-11-12 13:38:26 +03:00
Maksim Shabunin
1b0dca9c2c Fix issues found by static analysis 2020-11-11 13:59:01 +03:00
arodrigu
aa51382dbc Fix: UsacParams Python bindings 2020-10-16 14:41:41 +02:00
Maksym Ivashechkin
d5dce63254
Merge pull request #18356 from ivashmak:update_ransac
* update new RANSAC

* fix warning

* change gamma values table

* resolve conflict

* resolve conflict

* GammaValues as singleton
2020-10-06 20:37:49 +00:00
Alexander Alekhin
199687a1c5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-10-02 15:58:45 +00:00
Maksym Ivashechkin
0c4a8e2ca8 change flags and bugfix graph 2020-10-01 20:52:28 +02:00
Alexander Alekhin
295afd5882 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-09-28 21:33:29 +00:00
Aitik Gupta
94e0ac7d9f need atleast 4 corresponding points to calculate homography 2020-09-29 01:04:01 +05:30
Nathan Godwin
2f9072efdc Fixed assertions on ippe solver 2020-09-21 21:56:28 -05:00
Alexander Alekhin
7e019af50d checks and fixes from static code analyzers results (2) 2020-09-03 18:28:27 +00:00
Alexander Alekhin
1f2c83845d backport: checks and fixes from static code analyzers results
original commit: 71f665bd8c
2020-09-02 19:05:47 +00:00
Alexander Alekhin
71f665bd8c checks and fixes from static code analyzers results 2020-09-02 21:59:34 +03:00
catree
417d7a38de Add Robot-World/Hand-Eye calibration function. 2020-08-27 07:24:07 +02:00
Alexander Alekhin
ba147d2be2 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-08-26 15:51:25 +00:00
Alexander Alekhin
c7422e4d90 Merge pull request #18171 from catree:fix_pnp_doc 2020-08-25 18:24:30 +00:00
catree
379b83e946 Fix cubic root computation to be able to handle negative values. Improve doc. Add regression test. 2020-08-25 03:37:56 +02:00
catree
dda1bf1887 Add broken implementation note for DLS and UPnP.
Add CV_LOG_DEBUG.
2020-08-25 03:07:00 +02:00
Maksym Ivashechkin
c9e1386e44 fix CV_Check warnings 2020-08-17 21:15:19 +02:00
Maksym Ivashechkin
a66f61748f
Merge pull request #17683 from ivashmak:homography
[GSoC] New RANSAC. Homography part

* change enum and squash commits

* add small improvements

* change function to static, update magsac

* remove path from samples, remove license, small updates

* update pnp solver, small improvements

* fix warnings

* add tutorial, comments

* fix markdown warnings

* fix markdown warnings

* fix markdown warnings
2020-08-14 22:42:26 +00:00
Alexander Alekhin
fa25faa2d2 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-08-06 14:15:52 +00:00
Pavel Rojtberg
3c3e131c38
Merge pull request #17977 from paroj:hervec
* calib3d: calibrateHandEye - allow using Rodrigues vectors for rotation

* calib3d: calibrateHandEye - test rvec representation
2020-07-30 22:59:15 +03:00
Vadim Pisarevsky
a2f7ef9d21
Merge pull request #17816 from vpisarev:essential_2cameras
* add findEssentialMat for two different cameras

* added smoke test for the newly added variant of findEssentialMatrix

Co-authored-by: tompollok <tom.pollok@gmail.com>
2020-07-29 16:28:01 +03:00
Christoph
657c8d1c65
Merge pull request #17454 from creinders:master
fix instable fisheye undistortPoints

* remove artefacts when (un)distorting fisheye images with large distortion coefficient values

* fix fisheye undistortion when theta is close to zero

* add fisheye image undistort and distort test

* Fixed type conversion warnings

* fixed trailing whitespace
2020-07-03 22:59:19 +00:00
Alexander Alekhin
593af7287b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-05-18 17:50:16 +00:00
Ganesh Kathiresan
cddd7f10d5
Merge pull request #17224 from ganesh-k13:bugfix/calib3d/17201
* Fixed indexing in prefilter

* Initialised prefilter

* Initialised prefilter with value initialisation

* Added TC to trigger different Mem Allocs in BufferBM

* Optimize cases with only needed conditions
2020-05-14 16:30:01 +00:00
GFleishman
31ec9b2aa7
Merge pull request #16614 from GFleishman:estimateTranslation3D
added estimateTranslation3D to calib3d/ptsetreg

* added estimateTranslation3D; follows API and implementation structure for estimateAffine3D, but only allows for translation

* void variables in null function to suppress compiler warnings

* added test for estimateTranslation3D

* changed to Matx13d datatype for translation vector in ptsetreg and test; used short license in test

* removed iostream include

* calib3d: code cleanup
2020-04-07 19:58:25 +00:00
Alexander Alekhin
b4b4d21212 eliminate build warnings 2020-03-26 19:18:09 +00:00
Alexander Alekhin
ef395c3866 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-24 11:12:11 +00:00
Maksim Shabunin
0aac17d9f7 calib3d: check input values in dls 2020-03-24 12:22:26 +03:00
Alexander Alekhin
0b4c101e8a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-23 16:54:35 +00:00
Maksim Shabunin
2f665ec589 calib3d: fixed VS2019 warning C4756 2020-03-23 14:46:21 +03:00
Alexander Alekhin
ca23c0e630 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-03-17 13:23:33 +03:00
Maksim Shabunin
7e7bb3027c Fixs several problems found by static analysis 2020-03-16 19:03:24 +03:00
Alexander Duda
d594e72586 fix: estimateChessboardSharpness triggers out of range test
Problem is that iter1 += tcols, iter2 += tcols are called without check.
row < trows - 1 check is processed after increment in "for" statements.
2020-03-11 22:04:54 +01:00
Alexander Alekhin
27b71d6368 Merge pull request #16625 from D-Alex:findChessboard 2020-03-09 22:21:29 +00:00
Alexander Duda
44560c3e50 calib3d: add estimateChessboardSharpness
Image sharpness, as well as brightness, are a critical parameter for
accuracte camera calibration. For accessing these parameters for
filtering out problematic calibraiton images, this method calculates
edge profiles by traveling from black to white chessboard cell centers.
Based on this, the number of pixels is calculated required to transit
from black to white. This width of the transition area is a good
indication of how sharp the chessboard is imaged and should be below
~3.0 pixels.

Based on this also motion blur can be detectd by comparing sharpness in
vertical and horizontal direction. All unsharp images should be excluded
from calibration as they will corrupt the calibration result. The same
is true for overexposued images due to a none-linear sensor response.
This can be detected by looking at the average cell brightness of the
detected chessboard.
2020-03-09 08:58:18 +01:00
Eduard Trulls
7e637c134f Expose maxIters in findFundamentalMat
Lets the user choose the maximum number of iterations the robust
estimator runs for, similary to findHomography. This can significantly
improve performance (at a computational cost).
2020-03-07 18:03:44 +03:00
Alexander Alekhin
45d073f889 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-02-26 20:09:03 +03:00
Maksim Shabunin
bf96d8239d Use BufferArea in more places 2020-02-26 11:45:19 +03:00
Alexander Duda
a41cbbdc99 findChessboardCornersSB: performance + support for full FOV boards with markers
Changes:

* UMat for blur + rotate resulting in a speedup of around 2X on an i7
* support for boards larger than specified allowing to cover full FOV
* support for markers moving the origin into the center of the board
* increase detection accuracy

The main change is for supporting boards that are larger than the FOV of
the camera and have their origin in the board center. This allows
building OEM calibration targets similar to the one from intel real
sense utilizing corner points as close as possible to the image border.
2020-02-21 14:01:47 +01:00