nareshmlx/opencv-pr huggingface dataset:
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
`OPENCV_OBJDETECT_` prefix
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository
**Review Line:** 13

**Code Changes:**
```diff
+#include <opencv2/objdetect/aruco_board.hpp>
+
+namespace cv {
+namespace aruco {
+
+/** @defgroup aruco ArUco Marker Detection
+ * Square fiducial markers (also known as Augmented Reality Markers) are useful for easy,
+ * fast and robust camera pose estimation.
+ *
+ * The main functionality of ArucoDetector class is detection of markers in an image. There are even more
+ * functionalities implemented in the aruco contrib module (files aruco.hpp, charuco.hpp, aruco_calib.hpp):
```

Review comment:
Why is it applied to global namespace? This doesn't work as there is no entry added: http://pullrequest.opencv.org/buildbot/export/pr/22368/docs/d5/d54/group__objdetect.html --- We already have some trash for `cv` namespace: https://docs.opencv.org/4.x/namespaces.html
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
> This module which "module"?
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
Different lines, but the same paragraph: http://pullrequest.opencv.org/buildbot/export/pr/22368/docs/d9/d6a/group__aruco.html#details
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
> charuco.hpp > aruco_calib.hpp where?
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
Does writer want to control lifetime of `FileStorage`?
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
Just use `enum`.
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
I take a look on implementation. It is not a classical "drawing" function, so such name is confusing. Proper naming for such functionality is `generate` / `generateImage` (like https://github.com/opencv/opencv/blob/4.6.0/doc/pattern_tools/gen_pattern.py )
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
IMHO, `check` prefix is more suitable in public API than `test`.
**File:** modules/objdetect/src/aruco/aruco_dictionary.cpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,441 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+
+#include "../precomp.hpp"
+#include "opencv2/core/hal/hal.hpp"
+
+#include "aruco_utils.hpp"
+#include "predefined_dictionaries.hpp"
```

Review comment:
In this case (without `Ptr`), the bindings do not work. ``` /home/alexander/all/opencv/exp/opencv/modules/python/src2/cv2_convert.hpp:55:94: error: ‘to’ is not a member of ‘PyOpenCV_Converter<cv::FileStorage, void>’ 55 | bool pyopencv_to(PyObject* obj, T& p, const ArgInfo& info) { return PyOpenCV_Converter<T>::to(obj, p, info); } ``` `FileStorage` correctly bindings only as `Ptr`. I can add one more function without Ptr and without CV_WRAP for C++ code only. [error_log.txt](https://github.com/opencv/opencv/files/10189118/error_log.txt)
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
`FileStorage` correctly bindings only as `Ptr`.
**File:** modules/objdetect/src/aruco/aruco_dictionary.cpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,441 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+
+#include "../precomp.hpp"
+#include "opencv2/core/hal/hal.hpp"
+
+#include "aruco_utils.hpp"
+#include "predefined_dictionaries.hpp"
```

Review comment:
It is a binding problem. It should not affect C++ public API. Such problems should be raised and resolved instead of hiding them. Or at least binding-specific workaround applied, like [`Algorithm::write()`](https://github.com/opencv/opencv/blob/4.6.0/modules/core/include/opencv2/core.hpp#L3143-L3150).
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
After switch to enum, the list of options is redundant here. Brief is enough.
**File:** modules/objdetect/src/aruco/aruco_dictionary.cpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,441 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+
+#include "../precomp.hpp"
+#include "opencv2/core/hal/hal.hpp"
+
+#include "aruco_utils.hpp"
+#include "predefined_dictionaries.hpp"
```

Review comment:
moved `precomp.hpp` to first line
**File:** modules/objdetect/doc/objdetect.bib
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,20 @@
+@article{Aruco2014,
+  author = {S. Garrido-Jurado and R. Mu\~noz-Salinas and F.J. Madrid-Cuevas and M.J. Mar\'in-Jim\'enez}
+  title = {Automatic generation and detection of highly reliable fiducial markers under occlusion},
+  year = {2014},
+  pages = {2280 - 2292},
+  journal = {Pattern Recognition},
+  volume = {47},
+  number = {6},
+  issn = {0031-3203},
```

Review comment:
fixed style in `objdetect.bib`
**File:** modules/objdetect/src/aruco/aruco_utils.cpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository
**Review Line:** 6

**Code Changes:**
```diff
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+
+#include "../precomp.hpp"
+#include "aruco_utils.hpp"
+
+namespace cv {
+namespace aruco {
+using namespace std;
+
```

Review comment:
added `precomp.hpp` in all `objdetect aruco` cpp files
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
added `OPENCV_OBJDETECT_` prefix in all `objdetect aruco` hpp files
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
removed "module naming" from hpp
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
docs were refactored
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,396 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+#define OPENCV_OBJDETECT_ARUCO_DETECTOR_HPP
+
+#include <opencv2/objdetect/aruco_dictionary.hpp>
+#include <opencv2/objdetect/aruco_board.hpp>
+
```

Review comment:
removed the list of options
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository
**Review Line:** 68

**Code Changes:**
```diff
+    CV_WRAP const std::vector<std::vector<Point3f> >& getObjPoints() const;
+
+    /** @brief vector of the identifiers of the markers in the board (should be the same size as objPoints)
+     * @return vector of the identifiers of the markers
+     */
+    CV_WRAP const std::vector<int>& getIds() const;
+
+    /** @brief get coordinate of the bottom right corner of the board, is set when calling the function create()
+     */
+    CV_WRAP const Point3f& getRightBottomCorner() const;
+
```

Review comment:
There is no problem with `vector<int>` in OpenCV. This type using in: ``` CV_WRAP std::vector<int> getSegmentIndicesOfLines() CV_WRAP std::vector<int> getUnconnectedOutLayers() const; CV_WRAP virtual std::vector<int> getInitSeedIndexes() const = 0; CV_WRAP virtual std::vector<int> getLabelsByString(const String& str) const; ... In this case `vector<int>` is used as an internal structure and returning it is very easy. I can change it if needed.
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
`setDictionary()` was removed
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
moved to `Ptr<BoardImpl> boardImpl`
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
constructor moves to protected
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
renaming to `checkCharucoCornersCollinear`
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
renaming `draw()` to `generateImage()` renaming `drawMarker()` to `generateImageMarker()`
**File:** modules/objdetect/misc/java/test/ArucoTest.java
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,83 @@
+package org.opencv.test.aruco;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.opencv.test.OpenCVTestCase;
+import org.opencv.core.Scalar;
+import org.opencv.core.Mat;
+import org.opencv.core.Size;
```

Review comment:
something wrong with indentation
**File:** modules/objdetect/src/aruco/apriltag/zmaxheap.cpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,207 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html.
+//
+// Copyright (C) 2013-2016, The Regents of The University of Michigan.
+//
+// This software was developed in the APRIL Robotics Lab under the
+// direction of Edwin Olson, ebolson@umich.edu. This software may be
+// available under alternative licensing terms; contact the address above.
```

Review comment:
Wrong precomp.hpp usage. All files of opencv modules must follow these rules: - .cpp file: one and only one (1) usage of precomp.hpp include on the first place (2). - .hpp file: can't use precomp.hpp at all
**File:** modules/objdetect/src/aruco/aruco_utils.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,43 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef __OPENCV_OBJDETECT_ARUCO_UTILS_HPP__
+#define __OPENCV_OBJDETECT_ARUCO_UTILS_HPP__
+
+#include <opencv2/core.hpp>
+#include <vector>
+
```

Review comment:
> `Ptr<FileStorage>` we don't need `Ptr` in internal calls. Use reference / const reference instead.
**File:** modules/objdetect/src/aruco/aruco_utils.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,43 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef __OPENCV_OBJDETECT_ARUCO_UTILS_HPP__
+#define __OPENCV_OBJDETECT_ARUCO_UTILS_HPP__
+
+#include <opencv2/core.hpp>
+#include <vector>
+
```

Review comment:
No check for default parameter value: > `const Ptr<FileStorage> writeStorage = nullptr` (so pointer ("optional" value) is not really used)
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
rename `getRightBottomBorder` to `getRightBottomCorner`
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,234 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+#define OPENCV_OBJDETECT_ARUCO_BOARD_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
removed `setObjPoints`
**File:** modules/objdetect/include/opencv2/objdetect/aruco_dictionary.hpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,151 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html
+#ifndef OPENCV_OBJDETECT_DICTIONARY_HPP
+#define OPENCV_OBJDETECT_DICTIONARY_HPP
+
+#include <opencv2/core.hpp>
+
+namespace cv {
```

Review comment:
rename `PREDEFINED_DICTIONARY_NAME` to `PREDEFINED_DICTIONARY`
**File:** modules/objdetect/misc/java/test/ArucoTest.java
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,83 @@
+package org.opencv.test.aruco;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.opencv.test.OpenCVTestCase;
+import org.opencv.core.Scalar;
+import org.opencv.core.Mat;
+import org.opencv.core.Size;
```

Review comment:
fixed indentation
**File:** modules/objdetect/src/aruco/apriltag/zmaxheap.cpp
**Change Type:** added
**Context:** PR #22368: move aruco from contrib to objdetect in main repository

**Code Changes:**
```diff
@@ -0,0 +1,207 @@
+// This file is part of OpenCV project.
+// It is subject to the license terms in the LICENSE file found in the top-level directory
+// of this distribution and at http://opencv.org/license.html.
+//
+// Copyright (C) 2013-2016, The Regents of The University of Michigan.
+//
+// This software was developed in the APRIL Robotics Lab under the
+// direction of Edwin Olson, ebolson@umich.edu. This software may be
+// available under alternative licensing terms; contact the address above.
```

Review comment:
fixed, sorry part of `cpp` previously missed