opencv/modules
Maxim Smolskiy b1b59c87b9
Merge pull request #24605 from MaximSmolskiy:speed-up-ChessBoardDetector-findQuadNeighbors
Speed up ChessBoardDetector::findQuadNeighbors #24605

### Pull Request Readiness Checklist

Replaced brute-force algorithm with O(N^2) time complexity with kd-tree with something like O(N * log N) time complexity (maybe only in average case).

For example, on image from #23558 without quads filtering (by using `CALIB_CB_FILTER_QUADS` flag) finding chessboards corners took ~770 seconds on my laptop, of which finding quads neighbors took ~620 seconds.

Now finding chessboards corners takes ~155-160 seconds, of which finding quads neighbors takes only ~5-10 seconds.

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [x] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
2023-12-11 19:11:58 +03:00
..
calib3d Merge pull request #24605 from MaximSmolskiy:speed-up-ChessBoardDetector-findQuadNeighbors 2023-12-11 19:11:58 +03:00
core Merge pull request #24618 from vrabaud:compilation 2023-12-01 09:10:30 +03:00
dnn Merge pull request #24611 from Abdurrahheem:ash/add_yolov6_test 2023-12-11 16:42:51 +03:00
features2d Added Java bindings for BOWImgDescriptorExtractor constructor. 2023-10-31 11:23:47 +03:00
flann Merge pull request #23109 from seanm:misc-warnings 2023-10-06 13:33:21 +03:00
gapi Ported VAS Object Tracking into OpenCV G-API 2023-12-05 14:58:00 +00:00
highgui Update window_QT.cpp 2023-11-13 12:10:52 +03:00
imgcodecs Merge pull request #24405 from kochanczyk:4.x 2023-10-30 11:58:08 +03:00
imgproc Merge pull request #24581 from vrabaud:tsan 2023-11-28 15:01:41 +03:00
java Merge pull request #24662 from asmorkalov:as/android_native_camera 2023-12-11 16:40:57 +03:00
js Merge pull request #24458 from laolaolulu:4.x 2023-11-13 14:51:20 +03:00
ml Merge pull request #23109 from seanm:misc-warnings 2023-10-06 13:33:21 +03:00
objc Backport 5.x: Support for module names that start from digit in ObjC bindings generator. 2023-05-25 11:45:59 +03:00
objdetect Get code to compile without DNN 2023-12-08 10:54:59 +01:00
photo Merge pull request #23109 from seanm:misc-warnings 2023-10-06 13:33:21 +03:00
python Fixed Python signatures in Doxygen documentation. 2023-10-30 17:28:03 +03:00
stitching fix: supress GCC13 warnings (#24434) 2023-10-26 09:00:58 +03:00
ts Merge pull request #23109 from seanm:misc-warnings 2023-10-06 13:33:21 +03:00
video Merge pull request #24461 from fengyuentau:tracker_vit_backend_target 2023-10-27 14:12:44 +03:00
videoio Merge pull request #24662 from asmorkalov:as/android_native_camera 2023-12-11 16:40:57 +03:00
world cmake: use /INCREMENTAL:NO with MSVS 2015 2023-12-07 19:46:27 +00:00