Merge pull request #22368 from AleksandrPanov:move_contrib_aruco_to_main_objdetect
authorAlexander Panov <alexander.panov@xperience.ai>
Fri, 16 Dec 2022 09:28:47 +0000 (12:28 +0300)
committerGitHub <noreply@github.com>
Fri, 16 Dec 2022 09:28:47 +0000 (12:28 +0300)
commitb4b35cff15041c9a2795c749a8dfcffc317acefc
treec820de15eea46ecd013a3e2a64a7d58f05d7621b
parent47fb79bd8c50eec2694103e849a39bcbb35276cd
Merge pull request #22368 from AleksandrPanov:move_contrib_aruco_to_main_objdetect

Megre together with https://github.com/opencv/opencv_contrib/pull/3325

1. Move aruco_detector, aruco_board, aruco_dictionary, aruco_utils to objdetect
1.1 add virtual Board::draw(), virtual ~Board()
1.2 move `testCharucoCornersCollinear` to Board classes (and rename to `checkCharucoCornersCollinear`)
1.3 add wrappers to keep the old api working
3. Reduce inludes
4. Fix java tests (add objdetect import)
5. Refactoring

### Pull Request Readiness Checklist

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
- [x] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [x] The feature is well documented and sample code can be built with the project CMake

```
**WIP**
force_builders=linux,win64,docs,Linux x64 Debug,Custom
Xbuild_contrib:Docs=OFF

build_image:Custom=ubuntu:22.04
build_worker:Custom=linux-1
```
27 files changed:
apps/interactive-calibration/frameProcessor.cpp
apps/interactive-calibration/frameProcessor.hpp
apps/interactive-calibration/main.cpp
doc/py_tutorials/py_calib3d/py_pose/py_pose.markdown
modules/objdetect/doc/objdetect.bib [new file with mode: 0644]
modules/objdetect/include/opencv2/objdetect.hpp
modules/objdetect/include/opencv2/objdetect/aruco_board.hpp [new file with mode: 0644]
modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp [new file with mode: 0644]
modules/objdetect/include/opencv2/objdetect/aruco_dictionary.hpp [new file with mode: 0644]
modules/objdetect/misc/java/test/ArucoTest.java [new file with mode: 0644]
modules/objdetect/misc/python/test/test_objdetect_aruco.py [new file with mode: 0644]
modules/objdetect/src/aruco/apriltag/apriltag_quad_thresh.cpp [new file with mode: 0644]
modules/objdetect/src/aruco/apriltag/apriltag_quad_thresh.hpp [new file with mode: 0644]
modules/objdetect/src/aruco/apriltag/predefined_dictionaries_apriltag.hpp [new file with mode: 0644]
modules/objdetect/src/aruco/apriltag/unionfind.hpp [new file with mode: 0644]
modules/objdetect/src/aruco/apriltag/zarray.hpp [new file with mode: 0644]
modules/objdetect/src/aruco/apriltag/zmaxheap.cpp [new file with mode: 0644]
modules/objdetect/src/aruco/apriltag/zmaxheap.hpp [new file with mode: 0644]
modules/objdetect/src/aruco/aruco_board.cpp [new file with mode: 0644]
modules/objdetect/src/aruco/aruco_detector.cpp [new file with mode: 0644]
modules/objdetect/src/aruco/aruco_dictionary.cpp [new file with mode: 0644]
modules/objdetect/src/aruco/aruco_utils.cpp [new file with mode: 0644]
modules/objdetect/src/aruco/aruco_utils.hpp [new file with mode: 0644]
modules/objdetect/src/aruco/predefined_dictionaries.hpp [new file with mode: 0644]
modules/objdetect/test/test_arucodetection.cpp [new file with mode: 0644]
modules/objdetect/tutorials/images/singlemarkersaxes.jpg [new file with mode: 0644]
modules/objdetect/tutorials/images/singlemarkersaxes2.jpg [new file with mode: 0644]