nareshmlx/opencv-pr huggingface dataset:
**File:** modules/objdetect/include/opencv2/objdetect/aruco_detector.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -10,28 +10,7 @@
 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:
"ArUco" will better
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -8,7 +8,7 @@
 
 namespace cv {
 namespace aruco {
-//! @addtogroup aruco
+//! @addtogroup objdetect_aruco
 //! @{
 
 class Dictionary;
@@ -22,29 +22,15 @@ class Dictionary;
```

Review comment:
change most `Ptr<>` to reference
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -8,7 +8,7 @@
 
 namespace cv {
 namespace aruco {
-//! @addtogroup aruco
+//! @addtogroup objdetect_aruco
 //! @{
 
 class Dictionary;
@@ -22,29 +22,15 @@ class Dictionary;
```

Review comment:
I want this kind of code to work correctly: ``` cv::Ptr<cv::aruco::Board> board = cv::aruco::CharucoBoard::create(3, 3); std::vector<cv::Point2f> a1; std::vector<int> a2; std::vector<cv::Point2f> a3; std::vector<cv::Point2f> a4; board->matchImagePoints(a1, a2, a3, a4); ``` without `virtual` in `matchImagePoints()` I need to create func `virtual void pimplMatchImagePoints()` and call this from main Boards classes Should I do it?
**File:** modules/objdetect/misc/python/test/test_objdetect_aruco.py
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect
**Review Line:** 136

**Code Changes:**
```diff
+
+        list_gold_corners = []
+        for i in range(1, board_size[0]):
+            for j in range(1, board_size[1]):
+                list_gold_corners.append((j*cell_size, i*cell_size))
+        gold_corners = np.array(list_gold_corners, dtype=np.float32)
+
+        charucoCorners, charucoIds, markerCorners, markerIds = charuco_detector.detectBoard(image)
+
+        self.assertEqual(len(charucoIds), 4)
+        for i in range(0, 4):
```

Review comment:
back as it was, see https://github.com/opencv/opencv/pull/22965
**File:** modules/objdetect/include/opencv2/objdetect.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -105,6 +105,26 @@ using a Boosted Cascade of Simple Features. IEEE CVPR, 2001. The paper is availa
     @defgroup objdetect_dnn_face DNN-based face detection and recognition
 Check @ref tutorial_dnn_face "the corresponding tutorial" for more details.
     @defgroup objdetect_common Common functions and classes
+    @defgroup objdetect_aruco ArUco markers and boards detection for robust camera pose estimation
+    @{
+        ArUco Marker Detection
+        Square fiducial markers (also known as Augmented Reality Markers) are useful for easy,
+        fast and robust camera pose estimation.
+
```

Review comment:
No need to add this.
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -8,7 +8,7 @@
 
 namespace cv {
 namespace aruco {
-//! @addtogroup aruco
+//! @addtogroup objdetect_aruco
 //! @{
 
 class Dictionary;
@@ -22,29 +22,15 @@ class Dictionary;
```

Review comment:
`#solvePnP`
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -8,7 +8,7 @@
 
 namespace cv {
 namespace aruco {
-//! @addtogroup aruco
+//! @addtogroup objdetect_aruco
 //! @{
 
 class Dictionary;
@@ -22,29 +22,15 @@ class Dictionary;
```

Review comment:
add solvePnP() to add doxygen refetence ![image](https://user-images.githubusercontent.com/22337800/209332190-9827ee42-8b40-4f85-a11c-29630b37c604.png)
**File:** modules/objdetect/include/opencv2/objdetect.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -105,6 +105,26 @@ using a Boosted Cascade of Simple Features. IEEE CVPR, 2001. The paper is availa
     @defgroup objdetect_dnn_face DNN-based face detection and recognition
 Check @ref tutorial_dnn_face "the corresponding tutorial" for more details.
     @defgroup objdetect_common Common functions and classes
+    @defgroup objdetect_aruco ArUco markers and boards detection for robust camera pose estimation
+    @{
+        ArUco Marker Detection
+        Square fiducial markers (also known as Augmented Reality Markers) are useful for easy,
+        fast and robust camera pose estimation.
+
```

Review comment:
docs were refactored
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -8,7 +8,7 @@
 
 namespace cv {
 namespace aruco {
-//! @addtogroup aruco
+//! @addtogroup objdetect_aruco
 //! @{
 
 class Dictionary;
@@ -22,29 +22,15 @@ class Dictionary;
```

Review comment:
This done - [remove public virtual API for Board classes](https://github.com/opencv/opencv/pull/22986/commits/88e10eedf94e5b5c71537db23da74f2a0f626d10)
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -8,7 +8,7 @@
 
 namespace cv {
 namespace aruco {
-//! @addtogroup aruco
+//! @addtogroup objdetect_aruco
 //! @{
 
 class Dictionary;
@@ -22,29 +22,15 @@ class Dictionary;
```

Review comment:
Should be `Board::Impl` like other OpenCV code.
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -8,7 +8,7 @@
 
 namespace cv {
 namespace aruco {
-//! @addtogroup aruco
+//! @addtogroup objdetect_aruco
 //! @{
 
 class Dictionary;
@@ -22,29 +22,15 @@ class Dictionary;
```

Review comment:
const reference
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -8,7 +8,7 @@
 
 namespace cv {
 namespace aruco {
-//! @addtogroup aruco
+//! @addtogroup objdetect_aruco
 //! @{
 
 class Dictionary;
@@ -22,29 +22,15 @@ class Dictionary;
```

Review comment:
This could be thrown away from public headers: See `TextRecognitionModel_Impl::from(impl)`
**File:** modules/objdetect/include/opencv2/objdetect/aruco_board.hpp
**Change Type:** modified
**Context:** PR #22986: Move contrib charuco to main objdetect

**Code Changes:**
```diff
@@ -8,7 +8,7 @@
 
 namespace cv {
 namespace aruco {
-//! @addtogroup aruco
+//! @addtogroup objdetect_aruco
 //! @{
 
 class Dictionary;
@@ -22,29 +22,15 @@ class Dictionary;
```

Review comment:
> boardImpl just `impl` as we should not expect similar mistakes with inherited multiple implementation fields
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.
**Review Line:** 268

**Code Changes:**
```diff
@@ -265,7 +265,7 @@ def test_parse_to_int_not_convertible(self):
     def test_parse_to_int_not_convertible_extra(self):
         for not_convertible in (np.bool_(True), True, False, np.float32(2.3),
                                 np.array([3, ], dtype=int), np.array([-2, ], dtype=np.int32),
-                                np.array([1, ], dtype=np.int), np.array([11, ], dtype=np.uint8)):
+                                np.array([11, ], dtype=np.uint8)):
             with self.assertRaises((TypeError, OverflowError),
                                    msg=get_no_exception_msg(not_convertible)):
                 _ = cv.utils.dumpInt(not_convertible)
@@ -282,12 +282,11 @@ def test_parse_to_int64_convertible(self):
 
```

Review comment:
`np.uint8`
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.

**Code Changes:**
```diff
@@ -211,8 +211,8 @@ def test_20968(self):
 
     def test_parse_to_bool_convertible(self):
         try_to_convert = partial(self._try_to_convert, cv.utils.dumpBool)
-        for convertible_true in (True, 1, 64, np.bool(1), np.int8(123), np.int16(11), np.int32(2),
-                                 np.int64(1), np.bool_(3), np.bool8(12)):
+        for convertible_true in (True, 1, 64, np.int8(123), np.int16(11), np.int32(2),
+                                 np.int64(1), np.bool_(12)):
             actual = try_to_convert(convertible_true)
             self.assertEqual('bool: true', actual,
```

Review comment:
Do you intentionally skipped `bool(1)`?
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.
**Review Line:** 227

**Code Changes:**
```diff
 
     def test_parse_to_bool_not_convertible(self):
-        for not_convertible in (1.2, np.float(2.3), 's', 'str', (1, 2), [1, 2], complex(1, 1),
-                                complex(imag=2), complex(1.1), np.array([1, 0], dtype=np.bool)):
+        for not_convertible in (1.2, np.float32(2.3), 's', 'str', (1, 2), [1, 2], complex(1, 1),
+                                complex(imag=2), complex(1.1), np.array([1, 0], dtype=bool)):
             with self.assertRaises((TypeError, OverflowError),
                                    msg=get_no_exception_msg(not_convertible)):
                 _ = cv.utils.dumpBool(not_convertible)
@@ -238,7 +238,7 @@ def test_parse_to_bool_convertible_extra(self):
                              msg=get_conversion_error_msg(convertible_true, 'bool: true', actual))
```

Review comment:
The same for `float(2.3)`
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.
**Review Line:** 289

**Code Changes:**
```diff
                                 np.array([1, 2]), (1,), [1, 2], min_int64 - 1, max_int64 + 1,
                                 complex(1, 1), complex(imag=2), complex(1.1), np.bool_(True),
                                 True, False, np.float32(2.3), np.array([3, ], dtype=int),
-                                np.array([-2, ], dtype=np.int32), np.array([1, ], dtype=np.int),
-                                np.array([11, ], dtype=np.uint8)):
+                                np.array([-2, ], dtype=np.int32), np.array([11, ], dtype=np.uint8)):
             with self.assertRaises((TypeError, OverflowError, ValueError),
                                    msg=get_no_exception_msg(not_convertible)):
                 _ = cv.utils.dumpInt64(not_convertible)
@@ -305,7 +304,7 @@ def test_parse_to_size_t_convertible(self):
 
```

Review comment:
`np.int32`, `np.iint8`
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.

**Code Changes:**
```diff
@@ -211,8 +211,8 @@ def test_20968(self):
 
     def test_parse_to_bool_convertible(self):
         try_to_convert = partial(self._try_to_convert, cv.utils.dumpBool)
-        for convertible_true in (True, 1, 64, np.bool(1), np.int8(123), np.int16(11), np.int32(2),
-                                 np.int64(1), np.bool_(3), np.bool8(12)):
+        for convertible_true in (True, 1, 64, np.int8(123), np.int16(11), np.int32(2),
+                                 np.int64(1), np.bool_(12)):
             actual = try_to_convert(convertible_true)
             self.assertEqual('bool: true', actual,
```

Review comment:
`np.double`
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.
**Review Line:** 268

**Code Changes:**
```diff
@@ -265,7 +265,7 @@ def test_parse_to_int_not_convertible(self):
     def test_parse_to_int_not_convertible_extra(self):
         for not_convertible in (np.bool_(True), True, False, np.float32(2.3),
                                 np.array([3, ], dtype=int), np.array([-2, ], dtype=np.int32),
-                                np.array([1, ], dtype=np.int), np.array([11, ], dtype=np.uint8)):
+                                np.array([11, ], dtype=np.uint8)):
             with self.assertRaises((TypeError, OverflowError),
                                    msg=get_no_exception_msg(not_convertible)):
                 _ = cv.utils.dumpInt(not_convertible)
@@ -282,12 +282,11 @@ def test_parse_to_int64_convertible(self):
 
```

Review comment:
I removed np.array([1, ], dtype=np.int) because it is np.array([1, ], dtype=int), and there is already a np.array([3, ], dtype=int) above.
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.

**Code Changes:**
```diff
@@ -211,8 +211,8 @@ def test_20968(self):
 
     def test_parse_to_bool_convertible(self):
         try_to_convert = partial(self._try_to_convert, cv.utils.dumpBool)
-        for convertible_true in (True, 1, 64, np.bool(1), np.int8(123), np.int16(11), np.int32(2),
-                                 np.int64(1), np.bool_(3), np.bool8(12)):
+        for convertible_true in (True, 1, 64, np.int8(123), np.int16(11), np.int32(2),
+                                 np.int64(1), np.bool_(12)):
             actual = try_to_convert(convertible_true)
             self.assertEqual('bool: true', actual,
```

Review comment:
I removed bool(1) because it is True, which is already in the tuple.
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.
**Review Line:** 227

**Code Changes:**
```diff
 
     def test_parse_to_bool_not_convertible(self):
-        for not_convertible in (1.2, np.float(2.3), 's', 'str', (1, 2), [1, 2], complex(1, 1),
-                                complex(imag=2), complex(1.1), np.array([1, 0], dtype=np.bool)):
+        for not_convertible in (1.2, np.float32(2.3), 's', 'str', (1, 2), [1, 2], complex(1, 1),
+                                complex(imag=2), complex(1.1), np.array([1, 0], dtype=bool)):
             with self.assertRaises((TypeError, OverflowError),
                                    msg=get_no_exception_msg(not_convertible)):
                 _ = cv.utils.dumpBool(not_convertible)
@@ -238,7 +238,7 @@ def test_parse_to_bool_convertible_extra(self):
                              msg=get_conversion_error_msg(convertible_true, 'bool: true', actual))
```

Review comment:
np.float(2.3) is float(2.3) and there is already 1.2, so I removed it.
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.
**Review Line:** 289

**Code Changes:**
```diff
                                 np.array([1, 2]), (1,), [1, 2], min_int64 - 1, max_int64 + 1,
                                 complex(1, 1), complex(imag=2), complex(1.1), np.bool_(True),
                                 True, False, np.float32(2.3), np.array([3, ], dtype=int),
-                                np.array([-2, ], dtype=np.int32), np.array([1, ], dtype=np.int),
-                                np.array([11, ], dtype=np.uint8)):
+                                np.array([-2, ], dtype=np.int32), np.array([11, ], dtype=np.uint8)):
             with self.assertRaises((TypeError, OverflowError, ValueError),
                                    msg=get_no_exception_msg(not_convertible)):
                 _ = cv.utils.dumpInt64(not_convertible)
@@ -305,7 +304,7 @@ def test_parse_to_size_t_convertible(self):
 
```

Review comment:
np.array([1, ], dtype=np.int) is np.array([1, ], dtype=int) which is already tested as np.array([3, ], dtype=int), so I removed it.
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.

**Code Changes:**
```diff
@@ -211,8 +211,8 @@ def test_20968(self):
 
     def test_parse_to_bool_convertible(self):
         try_to_convert = partial(self._try_to_convert, cv.utils.dumpBool)
-        for convertible_true in (True, 1, 64, np.bool(1), np.int8(123), np.int16(11), np.int32(2),
-                                 np.int64(1), np.bool_(3), np.bool8(12)):
+        for convertible_true in (True, 1, 64, np.int8(123), np.int16(11), np.int32(2),
+                                 np.int64(1), np.bool_(12)):
             actual = try_to_convert(convertible_true)
             self.assertEqual('bool: true', actual,
```

Review comment:
and np.float(4) is float(4) which is already tested as float(3), hence the removal
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.

**Code Changes:**
```diff
@@ -211,8 +211,8 @@ def test_20968(self):
 
     def test_parse_to_bool_convertible(self):
         try_to_convert = partial(self._try_to_convert, cv.utils.dumpBool)
-        for convertible_true in (True, 1, 64, np.bool(1), np.int8(123), np.int16(11), np.int32(2),
-                                 np.int64(1), np.bool_(3), np.bool8(12)):
+        for convertible_true in (True, 1, 64, np.int8(123), np.int16(11), np.int32(2),
+                                 np.int64(1), np.bool_(12)):
             actual = try_to_convert(convertible_true)
             self.assertEqual('bool: true', actual,
```

Review comment:
duplicate with previous `np.bool_(3)`
**File:** modules/python/test/test_misc.py
**Change Type:** modified
**Context:** PR #22965: Remove references to deprecated NumPy type aliases.
**Review Line:** 258

**Code Changes:**
```diff
@@ -255,7 +255,7 @@ def test_parse_to_int_convertible(self):
 
     def test_parse_to_int_not_convertible(self):
         min_int, max_int = get_limits(ctypes.c_int)
-        for not_convertible in (1.2, np.float(4), float(3), np.double(45), 's', 'str',
+        for not_convertible in (1.2, float(3), np.float32(4), np.double(45), 's', 'str',
                                 np.array([1, 2]), (1,), [1, 2], min_int - 1, max_int + 1,
                                 complex(1, 1), complex(imag=2), complex(1.1)):
             with self.assertRaises((TypeError, OverflowError, ValueError),
@@ -265,7 +265,7 @@ def test_parse_to_int_not_convertible(self):
     def test_parse_to_int_not_convertible_extra(self):
```

Review comment:
`np.double` is accidentally removed
**File:** modules/features2d/misc/java/test/FASTFeatureDetectorTest.java
**Change Type:** modified
**Context:** PR #20367: Add read/write functions for features2d and normalize naming convention

**Code Changes:**
```diff
@@ -8,7 +8,6 @@
 import org.opencv.core.MatOfKeyPoint;
 import org.opencv.core.Point;
 import org.opencv.core.Scalar;
-import org.opencv.features2d.Feature2D;
 import org.opencv.features2d.FastFeatureDetector;
 import org.opencv.core.KeyPoint;
 import org.opencv.test.OpenCVTestCase;
@@ -17,7 +16,7 @@
 
```

Review comment:
Dead lines are not needed.
**File:** modules/features2d/misc/java/test/SURFDescriptorExtractorTest.java
**Change Type:** removed
**Context:** PR #20367: Add read/write functions for features2d and normalize naming convention

**Code Changes:**
```diff
@@ -1,119 +0,0 @@
-package org.opencv.test.features2d;
-
-import org.opencv.core.CvType;
-import org.opencv.core.Mat;
-import org.opencv.core.MatOfKeyPoint;
-import org.opencv.core.Point;
-import org.opencv.core.Scalar;
-import org.opencv.core.KeyPoint;
-import org.opencv.test.OpenCVTestCase;
```

Review comment:
I propose to restore checks.
**File:** modules/features2d/misc/java/test/SURFDescriptorExtractorTest.java
**Change Type:** removed
**Context:** PR #20367: Add read/write functions for features2d and normalize naming convention

**Code Changes:**
```diff
@@ -1,119 +0,0 @@
-package org.opencv.test.features2d;
-
-import org.opencv.core.CvType;
-import org.opencv.core.Mat;
-import org.opencv.core.MatOfKeyPoint;
-import org.opencv.core.Point;
-import org.opencv.core.Scalar;
-import org.opencv.core.KeyPoint;
-import org.opencv.test.OpenCVTestCase;
```

Review comment:
This is additionnal checks I tired to add but I didn't succeed originally. Problem was the following: - extractor is of type "Feature2D", so It does not have access to methods of derived class SURF like getExtended()... Here is my proposed workaround: ```patch diff --git a/modules/features2d/misc/java/test/SURFDescriptorExtractorTest.java b/modules/features2d/misc/java/test/SURFDescriptorExtractorTest.java index 2bbaad1e2c..ed287ea074 100644 --- a/modules/features2d/misc/java/test/SURFDescriptorExtractorTest.java +++ b/modules/features2d/misc/java/test/SURFDescriptorExtractorTest.java @@ -10,10 +10,11 @@ import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; import org.opencv.features2d.Feature2D; +import org.opencv.xfeatures2d.SURF; public class SURFDescriptorExtractorTest extends OpenCVTestCase { - Feature2D extractor; + SURF extractor; int matSize; private Mat getTestImg() { @@ -29,7 +30,7 @@ public class SURFDescriptorExtractorTest extends OpenCVTestCase { super.setUp(); Class[] cParams = {double.class, int.class, int.class, boolean.class, boolean.class}; - Object[] oValues = {100, 4, 2, true, false}; + Object[] oValues = {100, 2, 4, true, false}; extractor = createClassInstance(XFEATURES2D+"SURF", DEFAULT_FACTORY, cParams, oValues); matSize = 100; @@ -89,16 +90,16 @@ public class SURFDescriptorExtractorTest extends OpenCVTestCase { public void testRead() { String filename = OpenCVTestRunner.getTempFileName("yml"); - writeFile(filename, "%YAML:1.0\n---\nname: \"Feature2D.SURF\"\nhessianThreshold: 100.\nextended: 1\nupright: 0\nnOctaves: 4\nnOctaveLayers: 2\n"); + writeFile(filename, "%YAML:1.0\n---\nname: \"Feature2D.SURF\"\nhessianThreshold: 100.\nextended: 1\nupright: 0\nnOctaves: 2\nnOctaveLayers: 4\n"); extractor.read(filename); assertEquals(128, extractor.descriptorSize()); - //assertEquals(100., extractor.getHessianThreshold()); - //assertEquals(1, extractor.getExtended()); - //assertEquals(0, extractor.getUpright()); - //assertEquals(4, extractor.getNOctaves()); - //assertEquals(2, extractor.getNOctaveLayers()); + assertEquals(100., extractor.getHessianThreshold()); + assertEquals(true, extractor.getExtended()); + assertEquals(false, extractor.getUpright()); + assertEquals(2, extractor.getNOctaves()); + assertEquals(4, extractor.getNOctaveLayers()); } ``` If you agree with this (replacing Feature2D by XXX), I can do the changes for all tests of other Features2d to really check read values with testRead() functions (until now, read values were not checked).
**File:** modules/features2d/misc/java/test/SURFDescriptorExtractorTest.java
**Change Type:** removed
**Context:** PR #20367: Add read/write functions for features2d and normalize naming convention

**Code Changes:**
```diff
@@ -1,119 +0,0 @@
-package org.opencv.test.features2d;
-
-import org.opencv.core.CvType;
-import org.opencv.core.Mat;
-import org.opencv.core.MatOfKeyPoint;
-import org.opencv.core.Point;
-import org.opencv.core.Scalar;
-import org.opencv.core.KeyPoint;
-import org.opencv.test.OpenCVTestCase;
```

Review comment:
Ok, it was just to fit default constructor parameters, I keep old values (see final suggestion below)