diff --git a/3rdparty/ndsrvp/CMakeLists.txt b/3rdparty/ndsrvp/CMakeLists.txt index bc9a3a26dc..3a559b639d 100644 --- a/3rdparty/ndsrvp/CMakeLists.txt +++ b/3rdparty/ndsrvp/CMakeLists.txt @@ -23,7 +23,7 @@ target_include_directories(ndsrvp_hal PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/modules/core/include ${CMAKE_SOURCE_DIR}/modules/imgproc/include - ${CMAKE_SOURCE_DIR}/modules/features2d/include) + ${CMAKE_SOURCE_DIR}/modules/features/include) # project info diff --git a/apps/interactive-calibration/CMakeLists.txt b/apps/interactive-calibration/CMakeLists.txt index 9db4527d1d..b28300b3f8 100644 --- a/apps/interactive-calibration/CMakeLists.txt +++ b/apps/interactive-calibration/CMakeLists.txt @@ -1,3 +1,3 @@ -set(DEPS opencv_core opencv_imgproc opencv_features2d opencv_highgui opencv_3d opencv_calib opencv_videoio opencv_objdetect) +set(DEPS opencv_core opencv_imgproc opencv_features opencv_highgui opencv_3d opencv_calib opencv_videoio opencv_objdetect) file(GLOB SRCS *.cpp) ocv_add_application(opencv_interactive-calibration MODULES ${DEPS} SRCS ${SRCS}) diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake index 4e148d89b1..dcbf46f05e 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake @@ -421,7 +421,7 @@ macro(ocv_register_modules) endforeach() ocv_list_sort(OPENCV_MODULES_MAIN) ocv_list_sort(OPENCV_MODULES_EXTRA) - set(FIXED_ORDER_MODULES core imgproc imgcodecs videoio highgui video 3d stereo features2d calib objdetect dnn ml flann photo stitching) + set(FIXED_ORDER_MODULES core imgproc imgcodecs videoio highgui video 3d stereo features calib objdetect dnn ml flann photo stitching) list(REMOVE_ITEM OPENCV_MODULES_MAIN ${FIXED_ORDER_MODULES}) set(OPENCV_MODULES_MAIN ${FIXED_ORDER_MODULES} ${OPENCV_MODULES_MAIN}) diff --git a/cmake/OpenCVPackaging.cmake b/cmake/OpenCVPackaging.cmake index eee1c96869..96aaacc5d9 100644 --- a/cmake/OpenCVPackaging.cmake +++ b/cmake/OpenCVPackaging.cmake @@ -123,7 +123,7 @@ endif() set(STD_OPENCV_LIBS opencv-data) set(STD_OPENCV_DEV libopencv-dev) -foreach(module 3d calib core dnn features2d flann gapi highgui +foreach(module 3d calib core dnn features flann gapi highgui imgcodecs imgproc ml objdetect photo stereo stitching ts video videoio) if(HAVE_opencv_${module}) diff --git a/doc/py_tutorials/py_feature2d/images/brief.jpg b/doc/py_tutorials/py_features/images/brief.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/brief.jpg rename to doc/py_tutorials/py_features/images/brief.jpg diff --git a/doc/py_tutorials/py_feature2d/images/fast_icon.jpg b/doc/py_tutorials/py_features/images/fast_icon.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/fast_icon.jpg rename to doc/py_tutorials/py_features/images/fast_icon.jpg diff --git a/doc/py_tutorials/py_feature2d/images/features_icon.jpg b/doc/py_tutorials/py_features/images/features_icon.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/features_icon.jpg rename to doc/py_tutorials/py_features/images/features_icon.jpg diff --git a/doc/py_tutorials/py_feature2d/images/harris_icon.jpg b/doc/py_tutorials/py_features/images/harris_icon.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/harris_icon.jpg rename to doc/py_tutorials/py_features/images/harris_icon.jpg diff --git a/doc/py_tutorials/py_feature2d/images/homography_icon.jpg b/doc/py_tutorials/py_features/images/homography_icon.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/homography_icon.jpg rename to doc/py_tutorials/py_features/images/homography_icon.jpg diff --git a/doc/py_tutorials/py_feature2d/images/matching.jpg b/doc/py_tutorials/py_features/images/matching.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/matching.jpg rename to doc/py_tutorials/py_features/images/matching.jpg diff --git a/doc/py_tutorials/py_feature2d/images/orb.jpg b/doc/py_tutorials/py_features/images/orb.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/orb.jpg rename to doc/py_tutorials/py_features/images/orb.jpg diff --git a/doc/py_tutorials/py_feature2d/images/shi_icon.jpg b/doc/py_tutorials/py_features/images/shi_icon.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/shi_icon.jpg rename to doc/py_tutorials/py_features/images/shi_icon.jpg diff --git a/doc/py_tutorials/py_feature2d/images/sift_icon.jpg b/doc/py_tutorials/py_features/images/sift_icon.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/sift_icon.jpg rename to doc/py_tutorials/py_features/images/sift_icon.jpg diff --git a/doc/py_tutorials/py_feature2d/images/surf_icon.jpg b/doc/py_tutorials/py_features/images/surf_icon.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/images/surf_icon.jpg rename to doc/py_tutorials/py_features/images/surf_icon.jpg diff --git a/doc/py_tutorials/py_feature2d/py_fast/images/fast_eqns.jpg b/doc/py_tutorials/py_features/py_fast/images/fast_eqns.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_fast/images/fast_eqns.jpg rename to doc/py_tutorials/py_features/py_fast/images/fast_eqns.jpg diff --git a/doc/py_tutorials/py_feature2d/py_fast/images/fast_kp.jpg b/doc/py_tutorials/py_features/py_fast/images/fast_kp.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_fast/images/fast_kp.jpg rename to doc/py_tutorials/py_features/py_fast/images/fast_kp.jpg diff --git a/doc/py_tutorials/py_feature2d/py_fast/images/fast_speedtest.jpg b/doc/py_tutorials/py_features/py_fast/images/fast_speedtest.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_fast/images/fast_speedtest.jpg rename to doc/py_tutorials/py_features/py_fast/images/fast_speedtest.jpg diff --git a/doc/py_tutorials/py_feature2d/py_fast/py_fast.markdown b/doc/py_tutorials/py_features/py_fast/py_fast.markdown similarity index 100% rename from doc/py_tutorials/py_feature2d/py_fast/py_fast.markdown rename to doc/py_tutorials/py_features/py_fast/py_fast.markdown diff --git a/doc/py_tutorials/py_feature2d/py_feature_homography/images/homography_findobj.jpg b/doc/py_tutorials/py_features/py_feature_homography/images/homography_findobj.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_feature_homography/images/homography_findobj.jpg rename to doc/py_tutorials/py_features/py_feature_homography/images/homography_findobj.jpg diff --git a/doc/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.markdown b/doc/py_tutorials/py_features/py_feature_homography/py_feature_homography.markdown similarity index 100% rename from doc/py_tutorials/py_feature2d/py_feature_homography/py_feature_homography.markdown rename to doc/py_tutorials/py_features/py_feature_homography/py_feature_homography.markdown diff --git a/doc/py_tutorials/py_feature2d/py_features_harris/images/harris_region.jpg b/doc/py_tutorials/py_features/py_features_harris/images/harris_region.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_features_harris/images/harris_region.jpg rename to doc/py_tutorials/py_features/py_features_harris/images/harris_region.jpg diff --git a/doc/py_tutorials/py_feature2d/py_features_harris/images/harris_result.jpg b/doc/py_tutorials/py_features/py_features_harris/images/harris_result.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_features_harris/images/harris_result.jpg rename to doc/py_tutorials/py_features/py_features_harris/images/harris_result.jpg diff --git a/doc/py_tutorials/py_feature2d/py_features_harris/images/subpixel3.png b/doc/py_tutorials/py_features/py_features_harris/images/subpixel3.png similarity index 100% rename from doc/py_tutorials/py_feature2d/py_features_harris/images/subpixel3.png rename to doc/py_tutorials/py_features/py_features_harris/images/subpixel3.png diff --git a/doc/py_tutorials/py_feature2d/py_features_harris/py_features_harris.markdown b/doc/py_tutorials/py_features/py_features_harris/py_features_harris.markdown similarity index 100% rename from doc/py_tutorials/py_feature2d/py_features_harris/py_features_harris.markdown rename to doc/py_tutorials/py_features/py_features_harris/py_features_harris.markdown diff --git a/doc/py_tutorials/py_feature2d/py_features_meaning/images/feature_building.jpg b/doc/py_tutorials/py_features/py_features_meaning/images/feature_building.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_features_meaning/images/feature_building.jpg rename to doc/py_tutorials/py_features/py_features_meaning/images/feature_building.jpg diff --git a/doc/py_tutorials/py_feature2d/py_features_meaning/images/feature_simple.png b/doc/py_tutorials/py_features/py_features_meaning/images/feature_simple.png similarity index 100% rename from doc/py_tutorials/py_feature2d/py_features_meaning/images/feature_simple.png rename to doc/py_tutorials/py_features/py_features_meaning/images/feature_simple.png diff --git a/doc/py_tutorials/py_feature2d/py_features_meaning/py_features_meaning.markdown b/doc/py_tutorials/py_features/py_features_meaning/py_features_meaning.markdown similarity index 100% rename from doc/py_tutorials/py_feature2d/py_features_meaning/py_features_meaning.markdown rename to doc/py_tutorials/py_features/py_features_meaning/py_features_meaning.markdown diff --git a/doc/py_tutorials/py_feature2d/py_matcher/images/matcher_flann.jpg b/doc/py_tutorials/py_features/py_matcher/images/matcher_flann.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_matcher/images/matcher_flann.jpg rename to doc/py_tutorials/py_features/py_matcher/images/matcher_flann.jpg diff --git a/doc/py_tutorials/py_feature2d/py_matcher/images/matcher_result1.jpg b/doc/py_tutorials/py_features/py_matcher/images/matcher_result1.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_matcher/images/matcher_result1.jpg rename to doc/py_tutorials/py_features/py_matcher/images/matcher_result1.jpg diff --git a/doc/py_tutorials/py_feature2d/py_matcher/images/matcher_result2.jpg b/doc/py_tutorials/py_features/py_matcher/images/matcher_result2.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_matcher/images/matcher_result2.jpg rename to doc/py_tutorials/py_features/py_matcher/images/matcher_result2.jpg diff --git a/doc/py_tutorials/py_feature2d/py_matcher/py_matcher.markdown b/doc/py_tutorials/py_features/py_matcher/py_matcher.markdown similarity index 100% rename from doc/py_tutorials/py_feature2d/py_matcher/py_matcher.markdown rename to doc/py_tutorials/py_features/py_matcher/py_matcher.markdown diff --git a/doc/py_tutorials/py_feature2d/py_orb/images/orb_kp.jpg b/doc/py_tutorials/py_features/py_orb/images/orb_kp.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_orb/images/orb_kp.jpg rename to doc/py_tutorials/py_features/py_orb/images/orb_kp.jpg diff --git a/doc/py_tutorials/py_feature2d/py_orb/py_orb.markdown b/doc/py_tutorials/py_features/py_orb/py_orb.markdown similarity index 99% rename from doc/py_tutorials/py_feature2d/py_orb/py_orb.markdown rename to doc/py_tutorials/py_features/py_orb/py_orb.markdown index c86a79c8af..7a3f78f9aa 100644 --- a/doc/py_tutorials/py_feature2d/py_orb/py_orb.markdown +++ b/doc/py_tutorials/py_features/py_orb/py_orb.markdown @@ -52,7 +52,7 @@ choice in low-power devices for panorama stitching etc. ORB in OpenCV ------------- -As usual, we have to create an ORB object with the function, **cv.ORB()** or using feature2d common +As usual, we have to create an ORB object with the function, **cv.ORB()** or using features common interface. It has a number of optional parameters. Most useful ones are nFeatures which denotes maximum number of features to be retained (by default 500), scoreType which denotes whether Harris score or FAST score to rank the features (by default, Harris score) etc. Another parameter, WTA_K diff --git a/doc/py_tutorials/py_feature2d/py_shi_tomasi/images/shitomasi_block1.jpg b/doc/py_tutorials/py_features/py_shi_tomasi/images/shitomasi_block1.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_shi_tomasi/images/shitomasi_block1.jpg rename to doc/py_tutorials/py_features/py_shi_tomasi/images/shitomasi_block1.jpg diff --git a/doc/py_tutorials/py_feature2d/py_shi_tomasi/images/shitomasi_space.png b/doc/py_tutorials/py_features/py_shi_tomasi/images/shitomasi_space.png similarity index 100% rename from doc/py_tutorials/py_feature2d/py_shi_tomasi/images/shitomasi_space.png rename to doc/py_tutorials/py_features/py_shi_tomasi/images/shitomasi_space.png diff --git a/doc/py_tutorials/py_feature2d/py_shi_tomasi/py_shi_tomasi.markdown b/doc/py_tutorials/py_features/py_shi_tomasi/py_shi_tomasi.markdown similarity index 100% rename from doc/py_tutorials/py_feature2d/py_shi_tomasi/py_shi_tomasi.markdown rename to doc/py_tutorials/py_features/py_shi_tomasi/py_shi_tomasi.markdown diff --git a/doc/py_tutorials/py_feature2d/py_sift_intro/images/sift_dog.jpg b/doc/py_tutorials/py_features/py_sift_intro/images/sift_dog.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_sift_intro/images/sift_dog.jpg rename to doc/py_tutorials/py_features/py_sift_intro/images/sift_dog.jpg diff --git a/doc/py_tutorials/py_feature2d/py_sift_intro/images/sift_keypoints.jpg b/doc/py_tutorials/py_features/py_sift_intro/images/sift_keypoints.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_sift_intro/images/sift_keypoints.jpg rename to doc/py_tutorials/py_features/py_sift_intro/images/sift_keypoints.jpg diff --git a/doc/py_tutorials/py_feature2d/py_sift_intro/images/sift_local_extrema.jpg b/doc/py_tutorials/py_features/py_sift_intro/images/sift_local_extrema.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_sift_intro/images/sift_local_extrema.jpg rename to doc/py_tutorials/py_features/py_sift_intro/images/sift_local_extrema.jpg diff --git a/doc/py_tutorials/py_feature2d/py_sift_intro/images/sift_scale_invariant.jpg b/doc/py_tutorials/py_features/py_sift_intro/images/sift_scale_invariant.jpg similarity index 100% rename from doc/py_tutorials/py_feature2d/py_sift_intro/images/sift_scale_invariant.jpg rename to doc/py_tutorials/py_features/py_sift_intro/images/sift_scale_invariant.jpg diff --git a/doc/py_tutorials/py_feature2d/py_sift_intro/py_sift_intro.markdown b/doc/py_tutorials/py_features/py_sift_intro/py_sift_intro.markdown similarity index 100% rename from doc/py_tutorials/py_feature2d/py_sift_intro/py_sift_intro.markdown rename to doc/py_tutorials/py_features/py_sift_intro/py_sift_intro.markdown diff --git a/doc/py_tutorials/py_feature2d/py_table_of_contents_feature2d.markdown b/doc/py_tutorials/py_features/py_table_of_contents_features.markdown similarity index 99% rename from doc/py_tutorials/py_feature2d/py_table_of_contents_feature2d.markdown rename to doc/py_tutorials/py_features/py_table_of_contents_features.markdown index 339f94188b..002e687f10 100644 --- a/doc/py_tutorials/py_feature2d/py_table_of_contents_feature2d.markdown +++ b/doc/py_tutorials/py_features/py_table_of_contents_features.markdown @@ -1,4 +1,4 @@ -Feature Detection and Description {#tutorial_py_table_of_contents_feature2d} +Feature Detection and Description {#tutorial_py_table_of_contents_features} ================================= - @subpage tutorial_py_features_meaning diff --git a/doc/py_tutorials/py_tutorials.markdown b/doc/py_tutorials/py_tutorials.markdown index 25fdb49cd0..8edba11bb6 100644 --- a/doc/py_tutorials/py_tutorials.markdown +++ b/doc/py_tutorials/py_tutorials.markdown @@ -20,7 +20,7 @@ OpenCV-Python Tutorials {#tutorial_py_root} In this section you will learn different image processing functions inside OpenCV. -- @subpage tutorial_py_table_of_contents_feature2d +- @subpage tutorial_py_table_of_contents_features In this section you will learn about feature detectors and descriptors diff --git a/doc/tutorials/features2d/akaze_matching/akaze_matching.markdown b/doc/tutorials/features/akaze_matching/akaze_matching.markdown similarity index 65% rename from doc/tutorials/features2d/akaze_matching/akaze_matching.markdown rename to doc/tutorials/features/akaze_matching/akaze_matching.markdown index f571590c4a..81971b2667 100644 --- a/doc/tutorials/features2d/akaze_matching/akaze_matching.markdown +++ b/doc/tutorials/features/akaze_matching/akaze_matching.markdown @@ -44,26 +44,26 @@ You can find the images (*graf1.png*, *graf3.png*) and homography (*H1to3p.xml*) @add_toggle_cpp - **Downloadable code**: Click - [here](https://github.com/opencv/opencv/5.x/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp) + [here](https://github.com/opencv/opencv/5.x/samples/cpp/tutorial_code/features/AKAZE_match.cpp) - **Code at glance:** - @include samples/cpp/tutorial_code/features2D/AKAZE_match.cpp + @include samples/cpp/tutorial_code/features/AKAZE_match.cpp @end_toggle @add_toggle_java - **Downloadable code**: Click - [here](https://github.com/opencv/opencv/5.x/samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java) + [here](https://github.com/opencv/opencv/5.x/samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java) - **Code at glance:** - @include samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java + @include samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java @end_toggle @add_toggle_python - **Downloadable code**: Click - [here](https://github.com/opencv/opencv/5.x/samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py) + [here](https://github.com/opencv/opencv/5.x/samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py) - **Code at glance:** - @include samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py + @include samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py @end_toggle ### Explanation @@ -71,15 +71,15 @@ You can find the images (*graf1.png*, *graf3.png*) and homography (*H1to3p.xml*) - **Load images and homography** @add_toggle_cpp -@snippet samples/cpp/tutorial_code/features2D/AKAZE_match.cpp load +@snippet samples/cpp/tutorial_code/features/AKAZE_match.cpp load @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java load +@snippet samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java load @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py load +@snippet samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py load @end_toggle We are loading grayscale images here. Homography is stored in the xml created with FileStorage. @@ -87,15 +87,15 @@ We are loading grayscale images here. Homography is stored in the xml created wi - **Detect keypoints and compute descriptors using AKAZE** @add_toggle_cpp -@snippet samples/cpp/tutorial_code/features2D/AKAZE_match.cpp AKAZE +@snippet samples/cpp/tutorial_code/features/AKAZE_match.cpp AKAZE @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java AKAZE +@snippet samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java AKAZE @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py AKAZE +@snippet samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py AKAZE @end_toggle We create AKAZE and detect and compute AKAZE keypoints and descriptors. Since we don't need the *mask* @@ -104,30 +104,30 @@ parameter, *noArray()* is used. - **Use brute-force matcher to find 2-nn matches** @add_toggle_cpp -@snippet samples/cpp/tutorial_code/features2D/AKAZE_match.cpp 2-nn matching +@snippet samples/cpp/tutorial_code/features/AKAZE_match.cpp 2-nn matching @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java 2-nn matching +@snippet samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java 2-nn matching @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py 2-nn matching +@snippet samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py 2-nn matching @end_toggle We use Hamming distance, because AKAZE uses binary descriptor by default. - **Use 2-nn matches and ratio criterion to find correct keypoint matches** @add_toggle_cpp -@snippet samples/cpp/tutorial_code/features2D/AKAZE_match.cpp ratio test filtering +@snippet samples/cpp/tutorial_code/features/AKAZE_match.cpp ratio test filtering @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java ratio test filtering +@snippet samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java ratio test filtering @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py ratio test filtering +@snippet samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py ratio test filtering @end_toggle If the closest match distance is significantly lower than the second closest one, then the match is correct (match is not ambiguous). @@ -135,15 +135,15 @@ If the closest match distance is significantly lower than the second closest one - **Check if our matches fit in the homography model** @add_toggle_cpp -@snippet samples/cpp/tutorial_code/features2D/AKAZE_match.cpp homography check +@snippet samples/cpp/tutorial_code/features/AKAZE_match.cpp homography check @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java homography check +@snippet samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java homography check @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py homography check +@snippet samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py homography check @end_toggle If the distance from first keypoint's projection to the second keypoint is less than threshold, @@ -154,15 +154,15 @@ We create a new set of matches for the inliers, because it is required by the dr - **Output results** @add_toggle_cpp -@snippet samples/cpp/tutorial_code/features2D/AKAZE_match.cpp draw final matches +@snippet samples/cpp/tutorial_code/features/AKAZE_match.cpp draw final matches @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java draw final matches +@snippet samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java draw final matches @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py draw final matches +@snippet samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py draw final matches @end_toggle Here we save the resulting image and print some statistics. diff --git a/doc/tutorials/features2d/akaze_matching/images/graf.png b/doc/tutorials/features/akaze_matching/images/graf.png similarity index 100% rename from doc/tutorials/features2d/akaze_matching/images/graf.png rename to doc/tutorials/features/akaze_matching/images/graf.png diff --git a/doc/tutorials/features2d/akaze_matching/images/res.png b/doc/tutorials/features/akaze_matching/images/res.png similarity index 100% rename from doc/tutorials/features2d/akaze_matching/images/res.png rename to doc/tutorials/features/akaze_matching/images/res.png diff --git a/doc/tutorials/features2d/akaze_tracking/akaze_tracking.markdown b/doc/tutorials/features/akaze_tracking/akaze_tracking.markdown similarity index 98% rename from doc/tutorials/features2d/akaze_tracking/akaze_tracking.markdown rename to doc/tutorials/features/akaze_tracking/akaze_tracking.markdown index 977e7e7544..5a8a9813c6 100644 --- a/doc/tutorials/features2d/akaze_tracking/akaze_tracking.markdown +++ b/doc/tutorials/features/akaze_tracking/akaze_tracking.markdown @@ -48,7 +48,7 @@ To run the code you have to specify input (camera id or video_file). Then, selec Source Code ----------- -@include cpp/tutorial_code/features2D/AKAZE_tracking/planar_tracking.cpp +@include cpp/tutorial_code/features/AKAZE_tracking/planar_tracking.cpp Explanation ----------- diff --git a/doc/tutorials/features2d/akaze_tracking/images/frame.png b/doc/tutorials/features/akaze_tracking/images/frame.png similarity index 100% rename from doc/tutorials/features2d/akaze_tracking/images/frame.png rename to doc/tutorials/features/akaze_tracking/images/frame.png diff --git a/doc/tutorials/features2d/detection_of_planar_objects/detection_of_planar_objects.markdown b/doc/tutorials/features/detection_of_planar_objects/detection_of_planar_objects.markdown similarity index 95% rename from doc/tutorials/features2d/detection_of_planar_objects/detection_of_planar_objects.markdown rename to doc/tutorials/features/detection_of_planar_objects/detection_of_planar_objects.markdown index 2d19e3387e..2446797edd 100644 --- a/doc/tutorials/features2d/detection_of_planar_objects/detection_of_planar_objects.markdown +++ b/doc/tutorials/features/detection_of_planar_objects/detection_of_planar_objects.markdown @@ -11,7 +11,7 @@ Detection of planar objects {#tutorial_detection_of_planar_objects} | Original author | Victor Eruhimov | | Compatibility | OpenCV >= 3.0 | -The goal of this tutorial is to learn how to use *features2d* and *calib3d* modules for detecting +The goal of this tutorial is to learn how to use *features* and *calib3d* modules for detecting known planar objects in scenes. *Test data*: use images in your data folder, for instance, box.png and box_in_scene.png. diff --git a/doc/tutorials/features2d/feature_description/feature_description.markdown b/doc/tutorials/features/feature_description/feature_description.markdown similarity index 77% rename from doc/tutorials/features2d/feature_description/feature_description.markdown rename to doc/tutorials/features/feature_description/feature_description.markdown index 7d3a493de5..d5f0ce6be0 100644 --- a/doc/tutorials/features2d/feature_description/feature_description.markdown +++ b/doc/tutorials/features/feature_description/feature_description.markdown @@ -34,20 +34,20 @@ Code @add_toggle_cpp This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp) -@include samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp +[here](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features/feature_description/SURF_matching_Demo.cpp) +@include samples/cpp/tutorial_code/features/feature_description/SURF_matching_Demo.cpp @end_toggle @add_toggle_java This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java) -@include samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java +[here](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features/feature_description/SURFMatchingDemo.java) +@include samples/java/tutorial_code/features/feature_description/SURFMatchingDemo.java @end_toggle @add_toggle_python This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py) -@include samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py +[here](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features/feature_description/SURF_matching_Demo.py) +@include samples/python/tutorial_code/features/feature_description/SURF_matching_Demo.py @end_toggle Explanation diff --git a/doc/tutorials/features2d/feature_description/images/Feature_Description_BruteForce_Result.jpg b/doc/tutorials/features/feature_description/images/Feature_Description_BruteForce_Result.jpg similarity index 100% rename from doc/tutorials/features2d/feature_description/images/Feature_Description_BruteForce_Result.jpg rename to doc/tutorials/features/feature_description/images/Feature_Description_BruteForce_Result.jpg diff --git a/doc/tutorials/features2d/feature_detection/feature_detection.markdown b/doc/tutorials/features/feature_detection/feature_detection.markdown similarity index 77% rename from doc/tutorials/features2d/feature_detection/feature_detection.markdown rename to doc/tutorials/features/feature_detection/feature_detection.markdown index 584723f400..b86aa8593d 100644 --- a/doc/tutorials/features2d/feature_detection/feature_detection.markdown +++ b/doc/tutorials/features/feature_detection/feature_detection.markdown @@ -32,20 +32,20 @@ Code @add_toggle_cpp This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp) -@include samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp +[here](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features/feature_detection/SURF_detection_Demo.cpp) +@include samples/cpp/tutorial_code/features/feature_detection/SURF_detection_Demo.cpp @end_toggle @add_toggle_java This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features2D/feature_detection/SURFDetectionDemo.java) -@include samples/java/tutorial_code/features2D/feature_detection/SURFDetectionDemo.java +[here](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features/feature_detection/SURFDetectionDemo.java) +@include samples/java/tutorial_code/features/feature_detection/SURFDetectionDemo.java @end_toggle @add_toggle_python This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features2D/feature_detection/SURF_detection_Demo.py) -@include samples/python/tutorial_code/features2D/feature_detection/SURF_detection_Demo.py +[here](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features/feature_detection/SURF_detection_Demo.py) +@include samples/python/tutorial_code/features/feature_detection/SURF_detection_Demo.py @end_toggle Explanation diff --git a/doc/tutorials/features2d/feature_detection/images/Feature_Detection_Result_a.jpg b/doc/tutorials/features/feature_detection/images/Feature_Detection_Result_a.jpg similarity index 100% rename from doc/tutorials/features2d/feature_detection/images/Feature_Detection_Result_a.jpg rename to doc/tutorials/features/feature_detection/images/Feature_Detection_Result_a.jpg diff --git a/doc/tutorials/features2d/feature_detection/images/Feature_Detection_Result_b.jpg b/doc/tutorials/features/feature_detection/images/Feature_Detection_Result_b.jpg similarity index 100% rename from doc/tutorials/features2d/feature_detection/images/Feature_Detection_Result_b.jpg rename to doc/tutorials/features/feature_detection/images/Feature_Detection_Result_b.jpg diff --git a/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.markdown b/doc/tutorials/features/feature_flann_matcher/feature_flann_matcher.markdown similarity index 87% rename from doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.markdown rename to doc/tutorials/features/feature_flann_matcher/feature_flann_matcher.markdown index a8d9abfc52..920906334d 100644 --- a/doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.markdown +++ b/doc/tutorials/features/feature_flann_matcher/feature_flann_matcher.markdown @@ -55,20 +55,20 @@ Code @add_toggle_cpp This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp) -@include samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp +[here](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp) +@include samples/cpp/tutorial_code/features/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp @end_toggle @add_toggle_java This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features2D/feature_flann_matcher/SURFFLANNMatchingDemo.java) -@include samples/java/tutorial_code/features2D/feature_flann_matcher/SURFFLANNMatchingDemo.java +[here](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features/feature_flann_matcher/SURFFLANNMatchingDemo.java) +@include samples/java/tutorial_code/features/feature_flann_matcher/SURFFLANNMatchingDemo.java @end_toggle @add_toggle_python This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.py) -@include samples/python/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.py +[here](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features/feature_flann_matcher/SURF_FLANN_matching_Demo.py) +@include samples/python/tutorial_code/features/feature_flann_matcher/SURF_FLANN_matching_Demo.py @end_toggle Explanation diff --git a/doc/tutorials/features2d/feature_flann_matcher/images/Featur_FlannMatcher_Result.jpg b/doc/tutorials/features/feature_flann_matcher/images/Featur_FlannMatcher_Result.jpg similarity index 100% rename from doc/tutorials/features2d/feature_flann_matcher/images/Featur_FlannMatcher_Result.jpg rename to doc/tutorials/features/feature_flann_matcher/images/Featur_FlannMatcher_Result.jpg diff --git a/doc/tutorials/features2d/feature_flann_matcher/images/Feature_FlannMatcher_Keypoints_Result.jpg b/doc/tutorials/features/feature_flann_matcher/images/Feature_FlannMatcher_Keypoints_Result.jpg similarity index 100% rename from doc/tutorials/features2d/feature_flann_matcher/images/Feature_FlannMatcher_Keypoints_Result.jpg rename to doc/tutorials/features/feature_flann_matcher/images/Feature_FlannMatcher_Keypoints_Result.jpg diff --git a/doc/tutorials/features2d/feature_flann_matcher/images/Feature_FlannMatcher_Lowe_ratio_test.png b/doc/tutorials/features/feature_flann_matcher/images/Feature_FlannMatcher_Lowe_ratio_test.png similarity index 100% rename from doc/tutorials/features2d/feature_flann_matcher/images/Feature_FlannMatcher_Lowe_ratio_test.png rename to doc/tutorials/features/feature_flann_matcher/images/Feature_FlannMatcher_Lowe_ratio_test.png diff --git a/doc/tutorials/features2d/feature_flann_matcher/images/Feature_FlannMatcher_Result_ratio_test.jpg b/doc/tutorials/features/feature_flann_matcher/images/Feature_FlannMatcher_Result_ratio_test.jpg similarity index 100% rename from doc/tutorials/features2d/feature_flann_matcher/images/Feature_FlannMatcher_Result_ratio_test.jpg rename to doc/tutorials/features/feature_flann_matcher/images/Feature_FlannMatcher_Result_ratio_test.jpg diff --git a/doc/tutorials/features2d/feature_homography/feature_homography.markdown b/doc/tutorials/features/feature_homography/feature_homography.markdown similarity index 69% rename from doc/tutorials/features2d/feature_homography/feature_homography.markdown rename to doc/tutorials/features/feature_homography/feature_homography.markdown index 9957282cfd..6b466a7c8e 100644 --- a/doc/tutorials/features2d/feature_homography/feature_homography.markdown +++ b/doc/tutorials/features/feature_homography/feature_homography.markdown @@ -1,4 +1,4 @@ -Features2D + Homography to find a known object {#tutorial_feature_homography} +Features + Homography to find a known object {#tutorial_feature_homography} ============================================== @tableofcontents @@ -30,20 +30,20 @@ Code @add_toggle_cpp This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp) -@include samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp +[here](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.cpp) +@include samples/cpp/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.cpp @end_toggle @add_toggle_java This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features2D/feature_homography/SURFFLANNMatchingHomographyDemo.java) -@include samples/java/tutorial_code/features2D/feature_homography/SURFFLANNMatchingHomographyDemo.java +[here](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features/feature_homography/SURFFLANNMatchingHomographyDemo.java) +@include samples/java/tutorial_code/features/feature_homography/SURFFLANNMatchingHomographyDemo.java @end_toggle @add_toggle_python This tutorial code's is shown lines below. You can also download it from -[here](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.py) -@include samples/python/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.py +[here](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.py) +@include samples/python/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.py @end_toggle Explanation diff --git a/doc/tutorials/features2d/feature_homography/images/Feature_Homography_Result.jpg b/doc/tutorials/features/feature_homography/images/Feature_Homography_Result.jpg similarity index 100% rename from doc/tutorials/features2d/feature_homography/images/Feature_Homography_Result.jpg rename to doc/tutorials/features/feature_homography/images/Feature_Homography_Result.jpg diff --git a/doc/tutorials/features2d/homography/homography.markdown b/doc/tutorials/features/homography/homography.markdown similarity index 93% rename from doc/tutorials/features2d/homography/homography.markdown rename to doc/tutorials/features/homography/homography.markdown index be4d611d2c..b75582546f 100644 --- a/doc/tutorials/features2d/homography/homography.markdown +++ b/doc/tutorials/features/homography/homography.markdown @@ -22,9 +22,9 @@ For detailed explanations about the theory, please refer to a computer vision co * Deeper understanding of the homography decomposition for vision-based control, Ezio Malis, Manuel Vargas, @cite Malis2007 (open access [here](https://hal.inria.fr/inria-00174036)) * Pose Estimation for Augmented Reality: A Hands-On Survey, Eric Marchand, Hideaki Uchiyama, Fabien Spindler, @cite Marchand16 (open access [here](https://hal.inria.fr/hal-01246370)) -The tutorial code can be found here [C++](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features2D/Homography), -[Python](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features2D/Homography), -[Java](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features2D/Homography). +The tutorial code can be found here [C++](https://github.com/opencv/opencv/tree/5.x/samples/cpp/tutorial_code/features/Homography), +[Python](https://github.com/opencv/opencv/tree/5.x/samples/python/tutorial_code/features/Homography), +[Java](https://github.com/opencv/opencv/tree/5.x/samples/java/tutorial_code/features/Homography). The images used in this tutorial can be found [here](https://github.com/opencv/opencv/tree/5.x/samples/data) (`left*.jpg`). Basic theory {#tutorial_homography_Basic_theory} @@ -188,11 +188,11 @@ The first step consists to detect the chessboard corners in the source and desir @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/Homography/perspective_correction.py find-corners +@snippet samples/python/tutorial_code/features/Homography/perspective_correction.py find-corners @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/Homography/PerspectiveCorrection.java find-corners +@snippet samples/java/tutorial_code/features/Homography/PerspectiveCorrection.java find-corners @end_toggle The homography is estimated easily with: @@ -202,11 +202,11 @@ The homography is estimated easily with: @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/Homography/perspective_correction.py estimate-homography +@snippet samples/python/tutorial_code/features/Homography/perspective_correction.py estimate-homography @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/Homography/PerspectiveCorrection.java estimate-homography +@snippet samples/java/tutorial_code/features/Homography/PerspectiveCorrection.java estimate-homography @end_toggle To warp the source chessboard view into the desired chessboard view, we use @ref cv::warpPerspective @@ -216,11 +216,11 @@ To warp the source chessboard view into the desired chessboard view, we use @ref @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/Homography/perspective_correction.py warp-chessboard +@snippet samples/python/tutorial_code/features/Homography/perspective_correction.py warp-chessboard @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/Homography/PerspectiveCorrection.java warp-chessboard +@snippet samples/java/tutorial_code/features/Homography/PerspectiveCorrection.java warp-chessboard @end_toggle The result image is: @@ -234,11 +234,11 @@ To compute the coordinates of the source corners transformed by the homography: @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/Homography/perspective_correction.py compute-transformed-corners +@snippet samples/python/tutorial_code/features/Homography/perspective_correction.py compute-transformed-corners @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/Homography/PerspectiveCorrection.java compute-transformed-corners +@snippet samples/java/tutorial_code/features/Homography/PerspectiveCorrection.java compute-transformed-corners @end_toggle To check the correctness of the calculation, the matching lines are displayed: @@ -564,11 +564,11 @@ With the known associated camera poses and the intrinsic parameters, the relativ @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.py extract-rotation +@snippet samples/python/tutorial_code/features/Homography/panorama_stitching_rotating_camera.py extract-rotation @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/Homography/PanoramaStitchingRotatingCamera.java extract-rotation +@snippet samples/java/tutorial_code/features/Homography/PanoramaStitchingRotatingCamera.java extract-rotation @end_toggle @add_toggle_cpp @@ -576,11 +576,11 @@ With the known associated camera poses and the intrinsic parameters, the relativ @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.py compute-rotation-displacement +@snippet samples/python/tutorial_code/features/Homography/panorama_stitching_rotating_camera.py compute-rotation-displacement @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/Homography/PanoramaStitchingRotatingCamera.java compute-rotation-displacement +@snippet samples/java/tutorial_code/features/Homography/PanoramaStitchingRotatingCamera.java compute-rotation-displacement @end_toggle Here, the second image will be stitched with respect to the first image. The homography can be calculated using the formula above: @@ -590,11 +590,11 @@ Here, the second image will be stitched with respect to the first image. The hom @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.py compute-homography +@snippet samples/python/tutorial_code/features/Homography/panorama_stitching_rotating_camera.py compute-homography @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/Homography/PanoramaStitchingRotatingCamera.java compute-homography +@snippet samples/java/tutorial_code/features/Homography/PanoramaStitchingRotatingCamera.java compute-homography @end_toggle The stitching is made simply with: @@ -604,11 +604,11 @@ The stitching is made simply with: @end_toggle @add_toggle_python -@snippet samples/python/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.py stitch +@snippet samples/python/tutorial_code/features/Homography/panorama_stitching_rotating_camera.py stitch @end_toggle @add_toggle_java -@snippet samples/java/tutorial_code/features2D/Homography/PanoramaStitchingRotatingCamera.java stitch +@snippet samples/java/tutorial_code/features/Homography/PanoramaStitchingRotatingCamera.java stitch @end_toggle The resulting image is: diff --git a/doc/tutorials/features2d/homography/images/homography_camera_displacement.png b/doc/tutorials/features/homography/images/homography_camera_displacement.png similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_camera_displacement.png rename to doc/tutorials/features/homography/images/homography_camera_displacement.png diff --git a/doc/tutorials/features2d/homography/images/homography_camera_displacement_compare.jpg b/doc/tutorials/features/homography/images/homography_camera_displacement_compare.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_camera_displacement_compare.jpg rename to doc/tutorials/features/homography/images/homography_camera_displacement_compare.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_camera_displacement_poses.jpg b/doc/tutorials/features/homography/images/homography_camera_displacement_poses.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_camera_displacement_poses.jpg rename to doc/tutorials/features/homography/images/homography_camera_displacement_poses.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_camera_poses_interpolation.jpg b/doc/tutorials/features/homography/images/homography_camera_poses_interpolation.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_camera_poses_interpolation.jpg rename to doc/tutorials/features/homography/images/homography_camera_poses_interpolation.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_panorama_stitching.jpg b/doc/tutorials/features/homography/images/homography_panorama_stitching.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_panorama_stitching.jpg rename to doc/tutorials/features/homography/images/homography_panorama_stitching.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_perspective_correction.jpg b/doc/tutorials/features/homography/images/homography_perspective_correction.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_perspective_correction.jpg rename to doc/tutorials/features/homography/images/homography_perspective_correction.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_perspective_correction_chessboard_matches.jpg b/doc/tutorials/features/homography/images/homography_perspective_correction_chessboard_matches.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_perspective_correction_chessboard_matches.jpg rename to doc/tutorials/features/homography/images/homography_perspective_correction_chessboard_matches.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_perspective_correction_chessboard_warp.jpg b/doc/tutorials/features/homography/images/homography_perspective_correction_chessboard_warp.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_perspective_correction_chessboard_warp.jpg rename to doc/tutorials/features/homography/images/homography_perspective_correction_chessboard_warp.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_pose.jpg b/doc/tutorials/features/homography/images/homography_pose.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_pose.jpg rename to doc/tutorials/features/homography/images/homography_pose.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_pose_chessboard_corners.jpg b/doc/tutorials/features/homography/images/homography_pose_chessboard_corners.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_pose_chessboard_corners.jpg rename to doc/tutorials/features/homography/images/homography_pose_chessboard_corners.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_pose_estimation.jpg b/doc/tutorials/features/homography/images/homography_pose_estimation.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_pose_estimation.jpg rename to doc/tutorials/features/homography/images/homography_pose_estimation.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_source_desired_images.jpg b/doc/tutorials/features/homography/images/homography_source_desired_images.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_source_desired_images.jpg rename to doc/tutorials/features/homography/images/homography_source_desired_images.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_stitch_Suzanne.jpg b/doc/tutorials/features/homography/images/homography_stitch_Suzanne.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_stitch_Suzanne.jpg rename to doc/tutorials/features/homography/images/homography_stitch_Suzanne.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_stitch_compare.jpg b/doc/tutorials/features/homography/images/homography_stitch_compare.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_stitch_compare.jpg rename to doc/tutorials/features/homography/images/homography_stitch_compare.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_transformation_example1.jpg b/doc/tutorials/features/homography/images/homography_transformation_example1.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_transformation_example1.jpg rename to doc/tutorials/features/homography/images/homography_transformation_example1.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_transformation_example2.jpg b/doc/tutorials/features/homography/images/homography_transformation_example2.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_transformation_example2.jpg rename to doc/tutorials/features/homography/images/homography_transformation_example2.jpg diff --git a/doc/tutorials/features2d/homography/images/homography_transformation_example3.jpg b/doc/tutorials/features/homography/images/homography_transformation_example3.jpg similarity index 100% rename from doc/tutorials/features2d/homography/images/homography_transformation_example3.jpg rename to doc/tutorials/features/homography/images/homography_transformation_example3.jpg diff --git a/doc/tutorials/features2d/table_of_content_features2d.markdown b/doc/tutorials/features/table_of_content_features.markdown similarity index 86% rename from doc/tutorials/features2d/table_of_content_features2d.markdown rename to doc/tutorials/features/table_of_content_features.markdown index 29c99018fc..aab329840a 100644 --- a/doc/tutorials/features2d/table_of_content_features2d.markdown +++ b/doc/tutorials/features/table_of_content_features.markdown @@ -1,4 +1,4 @@ -2D Features framework (feature2d module) {#tutorial_table_of_content_features2d} +Features framework (features module) {#tutorial_table_of_content_features} ========================================= - @subpage tutorial_harris_detector diff --git a/doc/tutorials/features2d/trackingmotion/corner_subpixels/corner_subpixels.markdown b/doc/tutorials/features/trackingmotion/corner_subpixels/corner_subpixels.markdown similarity index 100% rename from doc/tutorials/features2d/trackingmotion/corner_subpixels/corner_subpixels.markdown rename to doc/tutorials/features/trackingmotion/corner_subpixels/corner_subpixels.markdown diff --git a/doc/tutorials/features2d/trackingmotion/corner_subpixels/images/Corner_Subpixels_Original_Image.jpg b/doc/tutorials/features/trackingmotion/corner_subpixels/images/Corner_Subpixels_Original_Image.jpg similarity index 100% rename from doc/tutorials/features2d/trackingmotion/corner_subpixels/images/Corner_Subpixels_Original_Image.jpg rename to doc/tutorials/features/trackingmotion/corner_subpixels/images/Corner_Subpixels_Original_Image.jpg diff --git a/doc/tutorials/features2d/trackingmotion/corner_subpixels/images/Corner_Subpixels_Result.jpg b/doc/tutorials/features/trackingmotion/corner_subpixels/images/Corner_Subpixels_Result.jpg similarity index 100% rename from doc/tutorials/features2d/trackingmotion/corner_subpixels/images/Corner_Subpixels_Result.jpg rename to doc/tutorials/features/trackingmotion/corner_subpixels/images/Corner_Subpixels_Result.jpg diff --git a/doc/tutorials/features2d/trackingmotion/generic_corner_detector/generic_corner_detector.markdown b/doc/tutorials/features/trackingmotion/generic_corner_detector/generic_corner_detector.markdown similarity index 100% rename from doc/tutorials/features2d/trackingmotion/generic_corner_detector/generic_corner_detector.markdown rename to doc/tutorials/features/trackingmotion/generic_corner_detector/generic_corner_detector.markdown diff --git a/doc/tutorials/features2d/trackingmotion/generic_corner_detector/images/My_Harris_corner_detector_Result.jpg b/doc/tutorials/features/trackingmotion/generic_corner_detector/images/My_Harris_corner_detector_Result.jpg similarity index 100% rename from doc/tutorials/features2d/trackingmotion/generic_corner_detector/images/My_Harris_corner_detector_Result.jpg rename to doc/tutorials/features/trackingmotion/generic_corner_detector/images/My_Harris_corner_detector_Result.jpg diff --git a/doc/tutorials/features2d/trackingmotion/generic_corner_detector/images/My_Shi_Tomasi_corner_detector_Result.jpg b/doc/tutorials/features/trackingmotion/generic_corner_detector/images/My_Shi_Tomasi_corner_detector_Result.jpg similarity index 100% rename from doc/tutorials/features2d/trackingmotion/generic_corner_detector/images/My_Shi_Tomasi_corner_detector_Result.jpg rename to doc/tutorials/features/trackingmotion/generic_corner_detector/images/My_Shi_Tomasi_corner_detector_Result.jpg diff --git a/doc/tutorials/features2d/trackingmotion/good_features_to_track/good_features_to_track.markdown b/doc/tutorials/features/trackingmotion/good_features_to_track/good_features_to_track.markdown similarity index 100% rename from doc/tutorials/features2d/trackingmotion/good_features_to_track/good_features_to_track.markdown rename to doc/tutorials/features/trackingmotion/good_features_to_track/good_features_to_track.markdown diff --git a/doc/tutorials/features2d/trackingmotion/good_features_to_track/images/good_features_to_track_Shi_Tomasi.jpg b/doc/tutorials/features/trackingmotion/good_features_to_track/images/good_features_to_track_Shi_Tomasi.jpg similarity index 100% rename from doc/tutorials/features2d/trackingmotion/good_features_to_track/images/good_features_to_track_Shi_Tomasi.jpg rename to doc/tutorials/features/trackingmotion/good_features_to_track/images/good_features_to_track_Shi_Tomasi.jpg diff --git a/doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.markdown b/doc/tutorials/features/trackingmotion/harris_detector/harris_detector.markdown similarity index 100% rename from doc/tutorials/features2d/trackingmotion/harris_detector/harris_detector.markdown rename to doc/tutorials/features/trackingmotion/harris_detector/harris_detector.markdown diff --git a/doc/tutorials/features2d/trackingmotion/harris_detector/images/Harris_Detector_Original_Image.jpg b/doc/tutorials/features/trackingmotion/harris_detector/images/Harris_Detector_Original_Image.jpg similarity index 100% rename from doc/tutorials/features2d/trackingmotion/harris_detector/images/Harris_Detector_Original_Image.jpg rename to doc/tutorials/features/trackingmotion/harris_detector/images/Harris_Detector_Original_Image.jpg diff --git a/doc/tutorials/features2d/trackingmotion/harris_detector/images/Harris_Detector_Result.jpg b/doc/tutorials/features/trackingmotion/harris_detector/images/Harris_Detector_Result.jpg similarity index 100% rename from doc/tutorials/features2d/trackingmotion/harris_detector/images/Harris_Detector_Result.jpg rename to doc/tutorials/features/trackingmotion/harris_detector/images/Harris_Detector_Result.jpg diff --git a/doc/tutorials/introduction/config_reference/config_reference.markdown b/doc/tutorials/introduction/config_reference/config_reference.markdown index 982a785708..0feaefdc84 100644 --- a/doc/tutorials/introduction/config_reference/config_reference.markdown +++ b/doc/tutorials/introduction/config_reference/config_reference.markdown @@ -151,7 +151,7 @@ cmake -DBUILD_LIST=calib3d,videoio,ts ../opencv In this example we requested 3 modules and configuration script has determined all dependencies automatically: ``` -- OpenCV modules: --- To be built: calib3d core features2d flann highgui imgcodecs imgproc ts videoio +-- To be built: calib3d core features flann highgui imgcodecs imgproc ts videoio ``` diff --git a/doc/tutorials/introduction/linux_eclipse/linux_eclipse.markdown b/doc/tutorials/introduction/linux_eclipse/linux_eclipse.markdown index d1b9a2e18f..cff25fcc1f 100644 --- a/doc/tutorials/introduction/linux_eclipse/linux_eclipse.markdown +++ b/doc/tutorials/introduction/linux_eclipse/linux_eclipse.markdown @@ -111,7 +111,7 @@ Making a project on the list below are enough (for simple applications) . In my case, I am putting all of them since I plan to use the whole bunch: - opencv_core opencv_imgproc opencv_imgcodecs opencv_highgui opencv_ml opencv_videoio opencv_video opencv_features2d + opencv_core opencv_imgproc opencv_imgcodecs opencv_highgui opencv_videoio opencv_video opencv_features opencv_3d opencv_objdetect opencv_flann ![](images/a10.png) @@ -123,7 +123,7 @@ Making a project @endcode My output (in case you want to check) was: @code{.bash} - -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_videoio -lopencv_imgcodecs -lopencv_flann + -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_video -lopencv_features -lopencv_3d -lopencv_calib -lopencv_stereo -lopencv_objdetect -lopencv_videoio -lopencv_imgcodecs -lopencv_flann @endcode Now you are done. Click **OK** diff --git a/doc/tutorials/tutorials.markdown b/doc/tutorials/tutorials.markdown index a9186812e7..ffa5d5d3c6 100644 --- a/doc/tutorials/tutorials.markdown +++ b/doc/tutorials/tutorials.markdown @@ -7,7 +7,7 @@ OpenCV Tutorials {#tutorial_root} - @subpage tutorial_table_of_content_app - application utils (GUI, image/video input/output) - @subpage tutorial_table_of_content_calib3d - extract 3D world information from 2D images - @subpage tutorial_table_of_content_objdetect - INSERT OBJDETECT MODULE INFO -- @subpage tutorial_table_of_content_features2d - feature detectors, descriptors and matching framework +- @subpage tutorial_table_of_content_features - feature detectors, descriptors and matching framework - @subpage tutorial_table_of_content_dnn - infer neural networks using built-in _dnn_ module - @subpage tutorial_table_of_content_gapi - graph-based approach to computer vision algorithms building - @subpage tutorial_table_of_content_other - other modules (stitching, video, photo) diff --git a/include/opencv2/opencv.hpp b/include/opencv2/opencv.hpp index ceeaadea43..6fdd1815aa 100644 --- a/include/opencv2/opencv.hpp +++ b/include/opencv2/opencv.hpp @@ -58,8 +58,8 @@ #ifdef HAVE_OPENCV_CALIB #include "opencv2/calib.hpp" #endif -#ifdef HAVE_OPENCV_FEATURES2D -#include "opencv2/features2d.hpp" +#ifdef HAVE_OPENCV_FEATURES +#include "opencv2/features.hpp" #endif #ifdef HAVE_OPENCV_DNN #include "opencv2/dnn.hpp" diff --git a/modules/3d/CMakeLists.txt b/modules/3d/CMakeLists.txt index fa524a3194..323db6bc4b 100644 --- a/modules/3d/CMakeLists.txt +++ b/modules/3d/CMakeLists.txt @@ -6,7 +6,7 @@ set(debug_modules "") if(DEBUG_opencv_3d) list(APPEND debug_modules opencv_highgui) endif() -ocv_define_module(3d opencv_imgproc opencv_features2d opencv_flann ${debug_modules} +ocv_define_module(3d opencv_imgproc opencv_features opencv_flann ${debug_modules} WRAP java objc python js ) ocv_target_link_libraries(${the_module} ${LAPACK_LIBRARIES}) diff --git a/modules/3d/include/opencv2/3d.hpp b/modules/3d/include/opencv2/3d.hpp index dbbe14978f..4120f3be56 100644 --- a/modules/3d/include/opencv2/3d.hpp +++ b/modules/3d/include/opencv2/3d.hpp @@ -734,7 +734,7 @@ private: }; -/** @example samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp +/** @example samples/cpp/tutorial_code/features/Homography/pose_from_homography.cpp An example program about pose estimation from coplanar points Check @ref tutorial_homography "the corresponding tutorial" for more details @@ -967,7 +967,7 @@ CV_EXPORTS_AS(projectPointsSepJ) void projectPoints( OutputArray dpdc=noArray(), OutputArray dpdk=noArray(), OutputArray dpdo=noArray(), double aspectRatio=0.); -/** @example samples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cpp +/** @example samples/cpp/tutorial_code/features/Homography/homography_from_camera_displacement.cpp An example program about homography from the camera displacement Check @ref tutorial_homography "the corresponding tutorial" for more details @@ -2077,7 +2077,7 @@ CV_EXPORTS_W cv::Mat estimateAffinePartial2D(InputArray from, InputArray to, Out size_t maxIters = 2000, double confidence = 0.99, size_t refineIters = 10); -/** @example samples/cpp/tutorial_code/features2D/Homography/decompose_homography.cpp +/** @example samples/cpp/tutorial_code/features/Homography/decompose_homography.cpp An example program with homography decomposition. Check @ref tutorial_homography "the corresponding tutorial" for more details. diff --git a/modules/3d/src/precomp.hpp b/modules/3d/src/precomp.hpp index e04f337e89..ec4d112654 100755 --- a/modules/3d/src/precomp.hpp +++ b/modules/3d/src/precomp.hpp @@ -63,7 +63,7 @@ #include "opencv2/3d.hpp" #include "opencv2/imgproc.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/core/ocl.hpp" #include "opencv2/core/hal/intrin.hpp" diff --git a/modules/3d/test/test_homography.cpp b/modules/3d/test/test_homography.cpp index 2d48a4b70b..ba746783dd 100644 --- a/modules/3d/test/test_homography.cpp +++ b/modules/3d/test/test_homography.cpp @@ -42,7 +42,7 @@ //M*/ #include "test_precomp.hpp" -#include +#include namespace opencv_test { namespace { diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index b61cf9deb1..2eecc15995 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -20,7 +20,7 @@ foreach(mod ${OPENCV_MODULES_BUILD} ${OPENCV_MODULES_DISABLED_USER} ${OPENCV_MOD endforeach() ocv_list_sort(OPENCV_MODULES_MAIN) ocv_list_sort(OPENCV_MODULES_EXTRA) -set(FIXED_ORDER_MODULES core imgproc imgcodecs videoio highgui video 3d stereo features2d calib objdetect dnn flann photo stitching) +set(FIXED_ORDER_MODULES core imgproc imgcodecs videoio highgui video 3d stereo features calib objdetect dnn flann photo stitching) list(REMOVE_ITEM OPENCV_MODULES_MAIN ${FIXED_ORDER_MODULES}) set(OPENCV_MODULES_MAIN ${FIXED_ORDER_MODULES} ${OPENCV_MODULES_MAIN}) diff --git a/modules/calib/CMakeLists.txt b/modules/calib/CMakeLists.txt index 7773da95a2..fee5499d5c 100644 --- a/modules/calib/CMakeLists.txt +++ b/modules/calib/CMakeLists.txt @@ -4,6 +4,6 @@ set(debug_modules "") if(DEBUG_opencv_calib) list(APPEND debug_modules opencv_highgui) endif() -ocv_define_module(calib opencv_imgproc opencv_features2d opencv_flann opencv_3d opencv_stereo ${debug_modules} +ocv_define_module(calib opencv_imgproc opencv_features opencv_flann opencv_3d opencv_stereo ${debug_modules} WRAP java objc python js ) diff --git a/modules/calib/include/opencv2/calib.hpp b/modules/calib/include/opencv2/calib.hpp index f777a2f963..f4030ea9c1 100644 --- a/modules/calib/include/opencv2/calib.hpp +++ b/modules/calib/include/opencv2/calib.hpp @@ -7,7 +7,7 @@ #include "opencv2/core.hpp" #include "opencv2/core/types.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/core/affine.hpp" /** diff --git a/modules/calib/src/chessboard.hpp b/modules/calib/src/chessboard.hpp index 80519d15a5..df4409fd69 100644 --- a/modules/calib/src/chessboard.hpp +++ b/modules/calib/src/chessboard.hpp @@ -6,7 +6,7 @@ #define CHESSBOARD_HPP_ #include "opencv2/core.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include #include #include diff --git a/modules/calib/src/precomp.hpp b/modules/calib/src/precomp.hpp index e179d79d12..ef90fec63b 100644 --- a/modules/calib/src/precomp.hpp +++ b/modules/calib/src/precomp.hpp @@ -49,7 +49,7 @@ #include "opencv2/calib.hpp" #include "opencv2/3d.hpp" #include "opencv2/imgproc.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/core/ocl.hpp" diff --git a/modules/core/doc/intro.markdown b/modules/core/doc/intro.markdown index 55bcbe998f..666cc4b2ba 100644 --- a/modules/core/doc/intro.markdown +++ b/modules/core/doc/intro.markdown @@ -20,7 +20,7 @@ libraries. The following modules are available: - @ref video (**video**) - a video analysis module that includes motion estimation, background subtraction, and object tracking algorithms. - @ref _3d "3d" (**3d**) - basic multiple-view geometry algorithms, object pose estimation and elements of 3D reconstruction. -- @ref features2d (**features2d**) - salient feature detectors, descriptors, and descriptor matchers. +- @ref features (**features**) - salient feature detectors, descriptors, and descriptor matchers. - @ref objdetect (**objdetect**) - detection of objects and instances of the predefined classes (for example, faces, eyes, mugs, people, cars, and so on). - @ref calib (**calib**) - single and stereo camera calibration diff --git a/modules/features2d/3rdparty/annoy/LICENSE b/modules/features/3rdparty/annoy/LICENSE similarity index 100% rename from modules/features2d/3rdparty/annoy/LICENSE rename to modules/features/3rdparty/annoy/LICENSE diff --git a/modules/features2d/3rdparty/annoy/annoylib.h b/modules/features/3rdparty/annoy/annoylib.h similarity index 100% rename from modules/features2d/3rdparty/annoy/annoylib.h rename to modules/features/3rdparty/annoy/annoylib.h diff --git a/modules/features2d/3rdparty/annoy/mman.h b/modules/features/3rdparty/annoy/mman.h similarity index 100% rename from modules/features2d/3rdparty/annoy/mman.h rename to modules/features/3rdparty/annoy/mman.h diff --git a/modules/features2d/3rdparty/mscr/chi_table.h b/modules/features/3rdparty/mscr/chi_table.h similarity index 100% rename from modules/features2d/3rdparty/mscr/chi_table.h rename to modules/features/3rdparty/mscr/chi_table.h diff --git a/modules/features2d/3rdparty/mscr/chi_table_LICENSE.txt b/modules/features/3rdparty/mscr/chi_table_LICENSE.txt similarity index 100% rename from modules/features2d/3rdparty/mscr/chi_table_LICENSE.txt rename to modules/features/3rdparty/mscr/chi_table_LICENSE.txt diff --git a/modules/features2d/CMakeLists.txt b/modules/features/CMakeLists.txt similarity index 64% rename from modules/features2d/CMakeLists.txt rename to modules/features/CMakeLists.txt index aea5a516df..b4fd86d881 100644 --- a/modules/features2d/CMakeLists.txt +++ b/modules/features/CMakeLists.txt @@ -1,12 +1,12 @@ -set(the_description "2D Features Framework") +set(the_description "Features Framework") ocv_add_dispatched_file(sift SSE4_1 AVX2 AVX512_SKX) set(debug_modules "") -if(DEBUG_opencv_features2d) +if(DEBUG_opencv_features) list(APPEND debug_modules opencv_highgui) endif() -ocv_define_module(features2d opencv_imgproc ${debug_modules} OPTIONAL opencv_flann WRAP java objc python js) +ocv_define_module(features opencv_imgproc ${debug_modules} OPTIONAL opencv_flann WRAP java objc python js) ocv_install_3rdparty_licenses(mscr "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/mscr/chi_table_LICENSE.txt") ocv_install_3rdparty_licenses(annoylib "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/annoy/LICENSE") diff --git a/modules/features2d/include/opencv2/features2d.hpp b/modules/features/include/opencv2/features.hpp similarity index 98% rename from modules/features2d/include/opencv2/features2d.hpp rename to modules/features/include/opencv2/features.hpp index 8f77eb97b7..4dc3cbacf4 100644 --- a/modules/features2d/include/opencv2/features2d.hpp +++ b/modules/features/include/opencv2/features.hpp @@ -40,8 +40,8 @@ // //M*/ -#ifndef OPENCV_FEATURES_2D_HPP -#define OPENCV_FEATURES_2D_HPP +#ifndef OPENCV_FEATURES_HPP +#define OPENCV_FEATURES_HPP #include "opencv2/opencv_modules.hpp" #include "opencv2/core.hpp" @@ -51,24 +51,24 @@ #endif /** - @defgroup features2d 2D Features Framework + @defgroup features Features Framework @{ - @defgroup features2d_main Feature Detection and Description - @defgroup features2d_match Descriptor Matchers + @defgroup features_main Feature Detection and Description + @defgroup features_match Descriptor Matchers Matchers of keypoint descriptors in OpenCV have wrappers with a common interface that enables you to easily switch between different algorithms solving the same problem. This section is devoted to matching descriptors that are represented as vectors in a multidimensional space. All objects that implement vector descriptor matchers inherit the DescriptorMatcher interface. - @defgroup features2d_draw Drawing Function of Keypoints and Matches + @defgroup features_draw Drawing Function of Keypoints and Matches - @defgroup feature2d_hal Hardware Acceleration Layer + @defgroup feature_hal Hardware Acceleration Layer @{ - @defgroup features2d_hal_interface Interface + @defgroup features_hal_interface Interface @} - @defgroup features2d_annoy Approximate Nearest Neighbors Search in Multi-Dimensional Spaces + @defgroup features_annoy Approximate Nearest Neighbors Search in Multi-Dimensional Spaces This section documents OpenCV's interface to the Annoy. Annoy (Approximate Nearest Neighbors Oh Yeah) is a library to search for points in space that are close to a given query point. It also creates @@ -80,7 +80,7 @@ namespace cv { -//! @addtogroup features2d_main +//! @addtogroup features_main //! @{ // //! writes vector of keypoints to the file storage @@ -725,13 +725,13 @@ struct L1 } }; -//! @} features2d_main +//! @} features_main /****************************************************************************************\ * DescriptorMatcher * \****************************************************************************************/ -//! @addtogroup features2d_match +//! @addtogroup features_match //! @{ /** @brief Abstract base class for matching keypoint descriptors. @@ -1078,13 +1078,13 @@ protected: #endif -//! @} features2d_match +//! @} features_match /****************************************************************************************\ * Drawing functions * \****************************************************************************************/ -//! @addtogroup features2d_draw +//! @addtogroup features_draw //! @{ enum struct DrawMatchesFlags @@ -1162,13 +1162,13 @@ CV_EXPORTS_AS(drawMatchesKnn) void drawMatches( InputArray img1, const std::vect const Scalar& matchColor=Scalar::all(-1), const Scalar& singlePointColor=Scalar::all(-1), const std::vector >& matchesMask=std::vector >(), DrawMatchesFlags flags=DrawMatchesFlags::DEFAULT ); -//! @} features2d_draw +//! @} features_draw /****************************************************************************************\ * Functions to evaluate the feature detectors and [generic] descriptor extractors * \****************************************************************************************/ -//! @addtogroup features2d_main +//! @addtogroup features_main //! @{ CV_EXPORTS void evaluateFeatureDetector( const Mat& img1, const Mat& img2, const Mat& H1to2, @@ -1190,7 +1190,7 @@ CV_EXPORTS int getNearestPoint( const std::vector& recallPrecisionCurve * Approximate Nearest Neighbors * \****************************************************************************************/ -//! @addtogroup features2d_annoy +//! @addtogroup features_annoy //! @{ class CV_EXPORTS_W ANNIndex @@ -1280,7 +1280,7 @@ public: CV_WRAP static Ptr create(int dim, ANNIndex::Distance distType=ANNIndex::DIST_EUCLIDEAN); }; -//! @} features2d_annoy +//! @} features_annoy } /* namespace cv */ diff --git a/modules/features2d/include/opencv2/features2d/features2d.hpp b/modules/features/include/opencv2/features/features.hpp similarity index 98% rename from modules/features2d/include/opencv2/features2d/features2d.hpp rename to modules/features/include/opencv2/features/features.hpp index e81df0ad08..86e075f141 100644 --- a/modules/features2d/include/opencv2/features2d/features2d.hpp +++ b/modules/features/include/opencv2/features/features.hpp @@ -45,4 +45,4 @@ #error this is a compatibility header which should not be used inside the OpenCV library #endif -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" diff --git a/modules/features2d/include/opencv2/features2d/hal/interface.h b/modules/features/include/opencv2/features/hal/interface.h similarity index 92% rename from modules/features2d/include/opencv2/features2d/hal/interface.h rename to modules/features/include/opencv2/features/hal/interface.h index bc3b084264..a6854dfecf 100644 --- a/modules/features2d/include/opencv2/features2d/hal/interface.h +++ b/modules/features/include/opencv2/features/hal/interface.h @@ -2,7 +2,7 @@ #define OPENCV_FEATURE2D_HAL_INTERFACE_H #include "opencv2/core/cvdef.h" -//! @addtogroup features2d_hal_interface +//! @addtogroup features_hal_interface //! @{ //! @name Fast feature detector types diff --git a/modules/features/include/opencv2/features2d.hpp b/modules/features/include/opencv2/features2d.hpp new file mode 100644 index 0000000000..fe26dbd2aa --- /dev/null +++ b/modules/features/include/opencv2/features2d.hpp @@ -0,0 +1,6 @@ + +#ifdef __OPENCV_BUILD +#error this is a compatibility header which should not be used inside the OpenCV library +#endif + +#include "opencv2/features.hpp" \ No newline at end of file diff --git a/modules/features/misc/java/filelist b/modules/features/misc/java/filelist new file mode 100644 index 0000000000..cb77d695f6 --- /dev/null +++ b/modules/features/misc/java/filelist @@ -0,0 +1 @@ +include/opencv2/features.hpp diff --git a/modules/features/misc/java/filelist_common b/modules/features/misc/java/filelist_common new file mode 100644 index 0000000000..4dc77a6512 --- /dev/null +++ b/modules/features/misc/java/filelist_common @@ -0,0 +1 @@ +misc/java/src/cpp/features_converters.hpp diff --git a/modules/features2d/misc/java/gen_dict.json b/modules/features/misc/java/gen_dict.json similarity index 79% rename from modules/features2d/misc/java/gen_dict.json rename to modules/features/misc/java/gen_dict.json index 950fc8a7a1..e6b33560d3 100644 --- a/modules/features2d/misc/java/gen_dict.json +++ b/modules/features/misc/java/gen_dict.json @@ -6,7 +6,7 @@ "jni_type": "jlong", "jni_var": "Feature2D %(n)s", "suffix": "J", - "j_import": "org.opencv.features2d.Feature2D" + "j_import": "org.opencv.features.Feature2D" } } } diff --git a/modules/features2d/misc/java/src/cpp/features2d_converters.cpp b/modules/features/misc/java/src/cpp/features_converters.cpp similarity index 98% rename from modules/features2d/misc/java/src/cpp/features2d_converters.cpp rename to modules/features/misc/java/src/cpp/features_converters.cpp index 4d82b6eca4..19c591e508 100644 --- a/modules/features2d/misc/java/src/cpp/features2d_converters.cpp +++ b/modules/features/misc/java/src/cpp/features_converters.cpp @@ -1,6 +1,6 @@ #define LOG_TAG "org.opencv.utils.Converters" #include "common.h" -#include "features2d_converters.hpp" +#include "features_converters.hpp" using namespace cv; diff --git a/modules/features2d/misc/java/src/cpp/features2d_converters.hpp b/modules/features/misc/java/src/cpp/features_converters.hpp similarity index 87% rename from modules/features2d/misc/java/src/cpp/features2d_converters.hpp rename to modules/features/misc/java/src/cpp/features_converters.hpp index 374411511e..4c1e8453da 100644 --- a/modules/features2d/misc/java/src/cpp/features2d_converters.hpp +++ b/modules/features/misc/java/src/cpp/features_converters.hpp @@ -1,9 +1,9 @@ -#ifndef __FEATURES2D_CONVERTERS_HPP__ -#define __FEATURES2D_CONVERTERS_HPP__ +#ifndef __FEATURES_CONVERTERS_HPP__ +#define __FEATURES_CONVERTERS_HPP__ #include "opencv2/opencv_modules.hpp" #include "opencv2/core.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" void Mat_to_vector_KeyPoint(cv::Mat& mat, std::vector& v_kp); void vector_KeyPoint_to_Mat(std::vector& v_kp, cv::Mat& mat); diff --git a/modules/features2d/misc/java/test/BruteForceDescriptorMatcherTest.java b/modules/features/misc/java/test/BruteForceDescriptorMatcherTest.java similarity index 98% rename from modules/features2d/misc/java/test/BruteForceDescriptorMatcherTest.java rename to modules/features/misc/java/test/BruteForceDescriptorMatcherTest.java index 45f83447d9..8031490dd9 100644 --- a/modules/features2d/misc/java/test/BruteForceDescriptorMatcherTest.java +++ b/modules/features/misc/java/test/BruteForceDescriptorMatcherTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import java.util.ArrayList; import java.util.Arrays; @@ -11,13 +11,13 @@ import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.core.DMatch; -import org.opencv.features2d.DescriptorMatcher; -import org.opencv.features2d.BFMatcher; +import org.opencv.features.DescriptorMatcher; +import org.opencv.features.BFMatcher; import org.opencv.core.KeyPoint; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; -import org.opencv.features2d.Feature2D; +import org.opencv.features.Feature2D; public class BruteForceDescriptorMatcherTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/BruteForceHammingDescriptorMatcherTest.java b/modules/features/misc/java/test/BruteForceHammingDescriptorMatcherTest.java similarity index 97% rename from modules/features2d/misc/java/test/BruteForceHammingDescriptorMatcherTest.java rename to modules/features/misc/java/test/BruteForceHammingDescriptorMatcherTest.java index 2bdcc589f9..83f03b34e9 100644 --- a/modules/features2d/misc/java/test/BruteForceHammingDescriptorMatcherTest.java +++ b/modules/features/misc/java/test/BruteForceHammingDescriptorMatcherTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import java.util.ArrayList; import java.util.Arrays; @@ -11,12 +11,12 @@ import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.core.DMatch; -import org.opencv.features2d.DescriptorMatcher; -import org.opencv.features2d.FastFeatureDetector; +import org.opencv.features.DescriptorMatcher; +import org.opencv.features.FastFeatureDetector; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; -import org.opencv.features2d.Feature2D; +import org.opencv.features.Feature2D; public class BruteForceHammingDescriptorMatcherTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/BruteForceHammingLUTDescriptorMatcherTest.java b/modules/features/misc/java/test/BruteForceHammingLUTDescriptorMatcherTest.java similarity index 97% rename from modules/features2d/misc/java/test/BruteForceHammingLUTDescriptorMatcherTest.java rename to modules/features/misc/java/test/BruteForceHammingLUTDescriptorMatcherTest.java index 60baa7c246..6940103a99 100644 --- a/modules/features2d/misc/java/test/BruteForceHammingLUTDescriptorMatcherTest.java +++ b/modules/features/misc/java/test/BruteForceHammingLUTDescriptorMatcherTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import java.util.Arrays; import java.util.List; @@ -10,12 +10,12 @@ import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.core.DMatch; -import org.opencv.features2d.DescriptorMatcher; -import org.opencv.features2d.FastFeatureDetector; +import org.opencv.features.DescriptorMatcher; +import org.opencv.features.FastFeatureDetector; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; -import org.opencv.features2d.Feature2D; +import org.opencv.features.Feature2D; public class BruteForceHammingLUTDescriptorMatcherTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/BruteForceL1DescriptorMatcherTest.java b/modules/features/misc/java/test/BruteForceL1DescriptorMatcherTest.java similarity index 98% rename from modules/features2d/misc/java/test/BruteForceL1DescriptorMatcherTest.java rename to modules/features/misc/java/test/BruteForceL1DescriptorMatcherTest.java index 582bcfee73..49c5f728e4 100644 --- a/modules/features2d/misc/java/test/BruteForceL1DescriptorMatcherTest.java +++ b/modules/features/misc/java/test/BruteForceL1DescriptorMatcherTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import java.util.Arrays; import java.util.List; @@ -10,12 +10,12 @@ import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.core.DMatch; -import org.opencv.features2d.DescriptorMatcher; +import org.opencv.features.DescriptorMatcher; import org.opencv.core.KeyPoint; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; -import org.opencv.features2d.Feature2D; +import org.opencv.features.Feature2D; public class BruteForceL1DescriptorMatcherTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/BruteForceSL2DescriptorMatcherTest.java b/modules/features/misc/java/test/BruteForceSL2DescriptorMatcherTest.java similarity index 98% rename from modules/features2d/misc/java/test/BruteForceSL2DescriptorMatcherTest.java rename to modules/features/misc/java/test/BruteForceSL2DescriptorMatcherTest.java index 1262df95ad..93b7b97868 100644 --- a/modules/features2d/misc/java/test/BruteForceSL2DescriptorMatcherTest.java +++ b/modules/features/misc/java/test/BruteForceSL2DescriptorMatcherTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import java.util.Arrays; import java.util.List; @@ -10,12 +10,12 @@ import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.core.DMatch; -import org.opencv.features2d.DescriptorMatcher; +import org.opencv.features.DescriptorMatcher; import org.opencv.core.KeyPoint; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; -import org.opencv.features2d.Feature2D; +import org.opencv.features.Feature2D; public class BruteForceSL2DescriptorMatcherTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/DENSEFeatureDetectorTest.java b/modules/features/misc/java/test/DENSEFeatureDetectorTest.java similarity index 95% rename from modules/features2d/misc/java/test/DENSEFeatureDetectorTest.java rename to modules/features/misc/java/test/DENSEFeatureDetectorTest.java index 1f69464438..8c8a736ebb 100644 --- a/modules/features2d/misc/java/test/DENSEFeatureDetectorTest.java +++ b/modules/features/misc/java/test/DENSEFeatureDetectorTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import org.opencv.test.OpenCVTestCase; diff --git a/modules/features2d/misc/java/test/FASTFeatureDetectorTest.java b/modules/features/misc/java/test/FASTFeatureDetectorTest.java similarity index 98% rename from modules/features2d/misc/java/test/FASTFeatureDetectorTest.java rename to modules/features/misc/java/test/FASTFeatureDetectorTest.java index cce21837ad..8ef67dd46f 100644 --- a/modules/features2d/misc/java/test/FASTFeatureDetectorTest.java +++ b/modules/features/misc/java/test/FASTFeatureDetectorTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import java.util.Arrays; @@ -8,7 +8,7 @@ import org.opencv.core.Mat; import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; -import org.opencv.features2d.FastFeatureDetector; +import org.opencv.features.FastFeatureDetector; import org.opencv.core.KeyPoint; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; diff --git a/modules/features2d/misc/java/test/Features2dTest.java b/modules/features/misc/java/test/FeaturesTest.java similarity index 93% rename from modules/features2d/misc/java/test/Features2dTest.java rename to modules/features/misc/java/test/FeaturesTest.java index b9fe42d609..c32635b119 100644 --- a/modules/features2d/misc/java/test/Features2dTest.java +++ b/modules/features/misc/java/test/FeaturesTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import java.util.ArrayList; import java.util.Arrays; @@ -15,15 +15,15 @@ import org.opencv.core.Point; import org.opencv.core.Range; import org.opencv.core.Scalar; import org.opencv.core.DMatch; -import org.opencv.features2d.DescriptorMatcher; -import org.opencv.features2d.Features2d; +import org.opencv.features.DescriptorMatcher; +import org.opencv.features.Features; import org.opencv.core.KeyPoint; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; -import org.opencv.features2d.Feature2D; +import org.opencv.features.Feature2D; -public class Features2dTest extends OpenCVTestCase { +public class FeaturesTest extends OpenCVTestCase { public void testDrawKeypointsMatListOfKeyPointMat() { fail("Not yet implemented"); @@ -138,7 +138,7 @@ public class Features2dTest extends OpenCVTestCase { assertMatEqual(Mat.eye(3, 3, CvType.CV_64F), hmg, EPS); Mat outimg = new Mat(); - Features2d.drawMatches(imgQuery, queryKeypoints, imgTrain, trainKeypoints, matches, outimg); + Features.drawMatches(imgQuery, queryKeypoints, imgTrain, trainKeypoints, matches, outimg); String outputPath = OpenCVTestRunner.getOutputFileName("PTODresult.png"); Imgcodecs.imwrite(outputPath, outimg); // OpenCVTestRunner.Log("Output image is saved to: " + outputPath); @@ -149,8 +149,8 @@ public class Features2dTest extends OpenCVTestCase { Mat outImg = Mat.ones(11, 11, CvType.CV_8U); MatOfKeyPoint kps = new MatOfKeyPoint(new KeyPoint(5, 5, 1)); // x, y, size - Features2d.drawKeypoints(new Mat(), kps, outImg, new Scalar(255), - Features2d.DrawMatchesFlags_DRAW_OVER_OUTIMG); + Features.drawKeypoints(new Mat(), kps, outImg, new Scalar(255), + Features.DrawMatchesFlags_DRAW_OVER_OUTIMG); Mat ref = new MatOfInt(new int[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, diff --git a/modules/features2d/misc/java/test/FlannBasedDescriptorMatcherTest.java b/modules/features/misc/java/test/FlannBasedDescriptorMatcherTest.java similarity index 98% rename from modules/features2d/misc/java/test/FlannBasedDescriptorMatcherTest.java rename to modules/features/misc/java/test/FlannBasedDescriptorMatcherTest.java index bd2cd0a330..c45b460ad4 100644 --- a/modules/features2d/misc/java/test/FlannBasedDescriptorMatcherTest.java +++ b/modules/features/misc/java/test/FlannBasedDescriptorMatcherTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import java.util.Arrays; import java.util.List; @@ -11,13 +11,13 @@ import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.core.DMatch; -import org.opencv.features2d.DescriptorMatcher; -import org.opencv.features2d.FlannBasedMatcher; +import org.opencv.features.DescriptorMatcher; +import org.opencv.features.FlannBasedMatcher; import org.opencv.core.KeyPoint; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; -import org.opencv.features2d.Feature2D; +import org.opencv.features.Feature2D; public class FlannBasedDescriptorMatcherTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/GFTTFeatureDetectorTest.java b/modules/features/misc/java/test/GFTTFeatureDetectorTest.java similarity index 96% rename from modules/features2d/misc/java/test/GFTTFeatureDetectorTest.java rename to modules/features/misc/java/test/GFTTFeatureDetectorTest.java index d21d4f2475..248c62e1c6 100644 --- a/modules/features2d/misc/java/test/GFTTFeatureDetectorTest.java +++ b/modules/features/misc/java/test/GFTTFeatureDetectorTest.java @@ -1,8 +1,8 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; -import org.opencv.features2d.GFTTDetector; +import org.opencv.features.GFTTDetector; public class GFTTFeatureDetectorTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/HARRISFeatureDetectorTest.java b/modules/features/misc/java/test/HARRISFeatureDetectorTest.java similarity index 95% rename from modules/features2d/misc/java/test/HARRISFeatureDetectorTest.java rename to modules/features/misc/java/test/HARRISFeatureDetectorTest.java index 7ef18bc6a8..3a56c48cdd 100644 --- a/modules/features2d/misc/java/test/HARRISFeatureDetectorTest.java +++ b/modules/features/misc/java/test/HARRISFeatureDetectorTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import org.opencv.test.OpenCVTestCase; diff --git a/modules/features2d/misc/java/test/MSERFeatureDetectorTest.java b/modules/features/misc/java/test/MSERFeatureDetectorTest.java similarity index 97% rename from modules/features2d/misc/java/test/MSERFeatureDetectorTest.java rename to modules/features/misc/java/test/MSERFeatureDetectorTest.java index 956e0600e3..4b3baa1b42 100644 --- a/modules/features2d/misc/java/test/MSERFeatureDetectorTest.java +++ b/modules/features/misc/java/test/MSERFeatureDetectorTest.java @@ -1,8 +1,8 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; -import org.opencv.features2d.MSER; +import org.opencv.features.MSER; public class MSERFeatureDetectorTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/ORBDescriptorExtractorTest.java b/modules/features/misc/java/test/ORBDescriptorExtractorTest.java similarity index 98% rename from modules/features2d/misc/java/test/ORBDescriptorExtractorTest.java rename to modules/features/misc/java/test/ORBDescriptorExtractorTest.java index a1a96491f5..d4b58149f9 100644 --- a/modules/features2d/misc/java/test/ORBDescriptorExtractorTest.java +++ b/modules/features/misc/java/test/ORBDescriptorExtractorTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import org.opencv.core.Core; import org.opencv.core.CvType; @@ -7,7 +7,7 @@ import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.core.KeyPoint; -import org.opencv.features2d.ORB; +import org.opencv.features.ORB; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; diff --git a/modules/features2d/misc/java/test/ORBFeatureDetectorTest.java b/modules/features/misc/java/test/ORBFeatureDetectorTest.java similarity index 94% rename from modules/features2d/misc/java/test/ORBFeatureDetectorTest.java rename to modules/features/misc/java/test/ORBFeatureDetectorTest.java index 2cd9977fb2..4a99d0747e 100644 --- a/modules/features2d/misc/java/test/ORBFeatureDetectorTest.java +++ b/modules/features/misc/java/test/ORBFeatureDetectorTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import org.junit.Assert; import org.opencv.core.CvType; @@ -6,8 +6,8 @@ import org.opencv.core.KeyPoint; import org.opencv.core.Mat; import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Scalar; -import org.opencv.features2d.Features2d; -import org.opencv.features2d.ORB; +import org.opencv.features.Features; +import org.opencv.features.ORB; import org.opencv.test.OpenCVTestCase; public class ORBFeatureDetectorTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/SIFTDescriptorExtractorTest.java b/modules/features/misc/java/test/SIFTDescriptorExtractorTest.java similarity index 97% rename from modules/features2d/misc/java/test/SIFTDescriptorExtractorTest.java rename to modules/features/misc/java/test/SIFTDescriptorExtractorTest.java index dcd8564c3c..0dbb932181 100644 --- a/modules/features2d/misc/java/test/SIFTDescriptorExtractorTest.java +++ b/modules/features/misc/java/test/SIFTDescriptorExtractorTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import org.opencv.core.CvType; import org.opencv.core.Mat; @@ -6,11 +6,11 @@ import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Point; import org.opencv.core.Scalar; import org.opencv.core.KeyPoint; -import org.opencv.features2d.SIFT; +import org.opencv.features.SIFT; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; -import org.opencv.features2d.SIFT; +import org.opencv.features.SIFT; public class SIFTDescriptorExtractorTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/java/test/SIFTFeatureDetectorTest.java b/modules/features/misc/java/test/SIFTFeatureDetectorTest.java similarity index 95% rename from modules/features2d/misc/java/test/SIFTFeatureDetectorTest.java rename to modules/features/misc/java/test/SIFTFeatureDetectorTest.java index fd2681feb3..5287685e95 100644 --- a/modules/features2d/misc/java/test/SIFTFeatureDetectorTest.java +++ b/modules/features/misc/java/test/SIFTFeatureDetectorTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import org.opencv.test.OpenCVTestCase; diff --git a/modules/features2d/misc/java/test/SIMPLEBLOBFeatureDetectorTest.java b/modules/features/misc/java/test/SIMPLEBLOBFeatureDetectorTest.java similarity index 97% rename from modules/features2d/misc/java/test/SIMPLEBLOBFeatureDetectorTest.java rename to modules/features/misc/java/test/SIMPLEBLOBFeatureDetectorTest.java index 75817ca6b1..1524e01d26 100644 --- a/modules/features2d/misc/java/test/SIMPLEBLOBFeatureDetectorTest.java +++ b/modules/features/misc/java/test/SIMPLEBLOBFeatureDetectorTest.java @@ -1,4 +1,4 @@ -package org.opencv.test.features2d; +package org.opencv.test.features; import java.util.Arrays; @@ -11,8 +11,8 @@ import org.opencv.core.KeyPoint; import org.opencv.test.OpenCVTestCase; import org.opencv.test.OpenCVTestRunner; import org.opencv.imgproc.Imgproc; -import org.opencv.features2d.SimpleBlobDetector; -import org.opencv.features2d.SimpleBlobDetector_Params; +import org.opencv.features.SimpleBlobDetector; +import org.opencv.features.SimpleBlobDetector_Params; public class SIMPLEBLOBFeatureDetectorTest extends OpenCVTestCase { diff --git a/modules/features2d/misc/js/gen_dict.json b/modules/features/misc/js/gen_dict.json similarity index 100% rename from modules/features2d/misc/js/gen_dict.json rename to modules/features/misc/js/gen_dict.json diff --git a/modules/features2d/misc/objc/gen_dict.json b/modules/features/misc/objc/gen_dict.json similarity index 100% rename from modules/features2d/misc/objc/gen_dict.json rename to modules/features/misc/objc/gen_dict.json diff --git a/modules/features2d/misc/python/pyopencv_features2d.hpp b/modules/features/misc/python/pyopencv_features.hpp similarity index 89% rename from modules/features2d/misc/python/pyopencv_features2d.hpp rename to modules/features/misc/python/pyopencv_features.hpp index 223d578967..65a7e2020c 100644 --- a/modules/features2d/misc/python/pyopencv_features2d.hpp +++ b/modules/features/misc/python/pyopencv_features.hpp @@ -1,4 +1,4 @@ -#ifdef HAVE_OPENCV_FEATURES2D +#ifdef HAVE_OPENCV_FEATURES typedef SimpleBlobDetector::Params SimpleBlobDetector_Params; typedef FastFeatureDetector::DetectorType FastFeatureDetector_DetectorType; typedef DescriptorMatcher::MatcherType DescriptorMatcher_MatcherType; diff --git a/modules/features2d/misc/python/test/test_feature_homography.py b/modules/features/misc/python/test/test_feature_homography.py similarity index 98% rename from modules/features2d/misc/python/test/test_feature_homography.py rename to modules/features/misc/python/test/test_feature_homography.py index 8191f76945..4308da75b4 100755 --- a/modules/features2d/misc/python/test/test_feature_homography.py +++ b/modules/features/misc/python/test/test_feature_homography.py @@ -4,7 +4,7 @@ Feature homography ================== -Example of using features2d framework for interactive video homography matching. +Example of using features framework for interactive video homography matching. ORB features and FLANN matcher are used. The actual tracking is implemented by PlaneTracker class in plane_tracker.py ''' diff --git a/modules/features2d/perf/opencl/perf_brute_force_matcher.cpp b/modules/features/perf/opencl/perf_brute_force_matcher.cpp similarity index 100% rename from modules/features2d/perf/opencl/perf_brute_force_matcher.cpp rename to modules/features/perf/opencl/perf_brute_force_matcher.cpp diff --git a/modules/features2d/perf/opencl/perf_feature2d.cpp b/modules/features/perf/opencl/perf_feature2d.cpp similarity index 100% rename from modules/features2d/perf/opencl/perf_feature2d.cpp rename to modules/features/perf/opencl/perf_feature2d.cpp diff --git a/modules/features2d/perf/perf_batchDistance.cpp b/modules/features/perf/perf_batchDistance.cpp similarity index 100% rename from modules/features2d/perf/perf_batchDistance.cpp rename to modules/features/perf/perf_batchDistance.cpp diff --git a/modules/features2d/perf/perf_feature2d.cpp b/modules/features/perf/perf_feature2d.cpp similarity index 100% rename from modules/features2d/perf/perf_feature2d.cpp rename to modules/features/perf/perf_feature2d.cpp diff --git a/modules/features2d/perf/perf_feature2d.hpp b/modules/features/perf/perf_feature2d.hpp similarity index 95% rename from modules/features2d/perf/perf_feature2d.hpp rename to modules/features/perf/perf_feature2d.hpp index 3983be468c..68ed08b73f 100644 --- a/modules/features2d/perf/perf_feature2d.hpp +++ b/modules/features/perf/perf_feature2d.hpp @@ -1,5 +1,5 @@ -#ifndef __OPENCV_PERF_FEATURE2D_HPP__ -#define __OPENCV_PERF_FEATURE2D_HPP__ +#ifndef __OPENCV_PERF_FEATURES_HPP__ +#define __OPENCV_PERF_FEATURES_HPP__ #include "perf_precomp.hpp" @@ -64,4 +64,4 @@ static inline Ptr getFeature2D(Feature2DType type) } // namespace -#endif // __OPENCV_PERF_FEATURE2D_HPP__ +#endif // __OPENCV_PERF_FEATURES_HPP__ diff --git a/modules/features2d/perf/perf_main.cpp b/modules/features/perf/perf_main.cpp similarity index 100% rename from modules/features2d/perf/perf_main.cpp rename to modules/features/perf/perf_main.cpp diff --git a/modules/features2d/perf/perf_precomp.hpp b/modules/features/perf/perf_precomp.hpp similarity index 75% rename from modules/features2d/perf/perf_precomp.hpp rename to modules/features/perf/perf_precomp.hpp index 3fd1ba76b4..713e5441e1 100644 --- a/modules/features2d/perf/perf_precomp.hpp +++ b/modules/features/perf/perf_precomp.hpp @@ -2,6 +2,6 @@ #define __OPENCV_PERF_PRECOMP_HPP__ #include "opencv2/ts.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #endif diff --git a/modules/features2d/src/affine_feature.cpp b/modules/features/src/affine_feature.cpp similarity index 100% rename from modules/features2d/src/affine_feature.cpp rename to modules/features/src/affine_feature.cpp diff --git a/modules/features2d/src/annoy.cpp b/modules/features/src/annoy.cpp similarity index 100% rename from modules/features2d/src/annoy.cpp rename to modules/features/src/annoy.cpp diff --git a/modules/features2d/src/blobdetector.cpp b/modules/features/src/blobdetector.cpp similarity index 99% rename from modules/features2d/src/blobdetector.cpp rename to modules/features/src/blobdetector.cpp index c2b366c465..96229b0359 100644 --- a/modules/features2d/src/blobdetector.cpp +++ b/modules/features/src/blobdetector.cpp @@ -46,7 +46,7 @@ #include -// Requires CMake flag: DEBUG_opencv_features2d=ON +// Requires CMake flag: DEBUG_opencv_features=ON //#define DEBUG_BLOB_DETECTOR #ifdef DEBUG_BLOB_DETECTOR diff --git a/modules/features2d/src/draw.cpp b/modules/features/src/draw.cpp similarity index 100% rename from modules/features2d/src/draw.cpp rename to modules/features/src/draw.cpp diff --git a/modules/features2d/src/dynamic.cpp b/modules/features/src/dynamic.cpp similarity index 100% rename from modules/features2d/src/dynamic.cpp rename to modules/features/src/dynamic.cpp diff --git a/modules/features2d/src/evaluation.cpp b/modules/features/src/evaluation.cpp similarity index 100% rename from modules/features2d/src/evaluation.cpp rename to modules/features/src/evaluation.cpp diff --git a/modules/features2d/src/fast.avx2.cpp b/modules/features/src/fast.avx2.cpp similarity index 100% rename from modules/features2d/src/fast.avx2.cpp rename to modules/features/src/fast.avx2.cpp diff --git a/modules/features2d/src/fast.cpp b/modules/features/src/fast.cpp similarity index 99% rename from modules/features2d/src/fast.cpp rename to modules/features/src/fast.cpp index 31f526104d..dadcb3483c 100644 --- a/modules/features2d/src/fast.cpp +++ b/modules/features/src/fast.cpp @@ -44,7 +44,7 @@ The references are: #include "precomp.hpp" #include "fast.hpp" #include "fast_score.hpp" -#include "opencl_kernels_features2d.hpp" +#include "opencl_kernels_features.hpp" #include "hal_replacement.hpp" #include "opencv2/core/hal/intrin.hpp" #include "opencv2/core/utils/buffer_area.private.hpp" @@ -304,7 +304,7 @@ static bool ocl_FAST( InputArray _img, std::vector& keypoints, return false; size_t globalsize[] = { (size_t)img.cols-6, (size_t)img.rows-6 }; - ocl::Kernel fastKptKernel("FAST_findKeypoints", ocl::features2d::fast_oclsrc); + ocl::Kernel fastKptKernel("FAST_findKeypoints", ocl::features::fast_oclsrc); if (fastKptKernel.empty()) return false; @@ -342,7 +342,7 @@ static bool ocl_FAST( InputArray _img, std::vector& keypoints, UMat ucounter2 = kp2(Rect(0,0,1,1)); ucounter2.setTo(Scalar::all(0)); - ocl::Kernel fastNMSKernel("FAST_nonmaxSupression", ocl::features2d::fast_oclsrc); + ocl::Kernel fastNMSKernel("FAST_nonmaxSupression", ocl::features::fast_oclsrc); if (fastNMSKernel.empty()) return false; diff --git a/modules/features2d/src/fast.hpp b/modules/features/src/fast.hpp similarity index 97% rename from modules/features2d/src/fast.hpp rename to modules/features/src/fast.hpp index 1e221cbdf4..90b08fdac1 100644 --- a/modules/features2d/src/fast.hpp +++ b/modules/features/src/fast.hpp @@ -41,8 +41,8 @@ The references are: E. Rosten, R. Porter and T. Drummond, PAMI, 2009 */ -#ifndef OPENCV_FEATURES2D_FAST_HPP -#define OPENCV_FEATURES2D_FAST_HPP +#ifndef OPENCV_FEATURES_FAST_HPP +#define OPENCV_FEATURES_FAST_HPP namespace cv { diff --git a/modules/features2d/src/fast_score.cpp b/modules/features/src/fast_score.cpp similarity index 100% rename from modules/features2d/src/fast_score.cpp rename to modules/features/src/fast_score.cpp diff --git a/modules/features2d/src/fast_score.hpp b/modules/features/src/fast_score.hpp similarity index 100% rename from modules/features2d/src/fast_score.hpp rename to modules/features/src/fast_score.hpp diff --git a/modules/features2d/src/feature2d.cpp b/modules/features/src/feature2d.cpp similarity index 100% rename from modules/features2d/src/feature2d.cpp rename to modules/features/src/feature2d.cpp diff --git a/modules/features2d/src/gftt.cpp b/modules/features/src/gftt.cpp similarity index 100% rename from modules/features2d/src/gftt.cpp rename to modules/features/src/gftt.cpp diff --git a/modules/features2d/src/hal_replacement.hpp b/modules/features/src/hal_replacement.hpp similarity index 97% rename from modules/features2d/src/hal_replacement.hpp rename to modules/features/src/hal_replacement.hpp index 6476d21651..44ddbc51b8 100644 --- a/modules/features2d/src/hal_replacement.hpp +++ b/modules/features/src/hal_replacement.hpp @@ -39,8 +39,8 @@ // //M*/ -#ifndef OPENCV_FEATURES2D_HAL_REPLACEMENT_HPP -#define OPENCV_FEATURES2D_HAL_REPLACEMENT_HPP +#ifndef OPENCV_FEATURES_HAL_REPLACEMENT_HPP +#define OPENCV_FEATURES_HAL_REPLACEMENT_HPP #include "opencv2/core/hal/interface.h" @@ -55,7 +55,7 @@ #pragma GCC diagnostic ignored "-Wunused-parameter" #endif -//! @addtogroup features2d_hal_interface +//! @addtogroup features_hal_interface //! @note Define your functions to override default implementations: //! @code //! #undef hal_add8u diff --git a/modules/features2d/src/keypoint.cpp b/modules/features/src/keypoint.cpp similarity index 100% rename from modules/features2d/src/keypoint.cpp rename to modules/features/src/keypoint.cpp diff --git a/modules/features2d/src/main.cpp b/modules/features/src/main.cpp similarity index 100% rename from modules/features2d/src/main.cpp rename to modules/features/src/main.cpp diff --git a/modules/features2d/src/matchers.cpp b/modules/features/src/matchers.cpp similarity index 99% rename from modules/features2d/src/matchers.cpp rename to modules/features/src/matchers.cpp index 97d0a02417..249e460e17 100644 --- a/modules/features2d/src/matchers.cpp +++ b/modules/features/src/matchers.cpp @@ -44,7 +44,7 @@ #include "opencv2/flann/miniflann.hpp" #endif #include -#include "opencl_kernels_features2d.hpp" +#include "opencl_kernels_features.hpp" #if defined(HAVE_EIGEN) && EIGEN_WORLD_VERSION == 2 # if defined(_MSC_VER) @@ -106,7 +106,7 @@ static bool ocl_matchSingle(InputArray query, InputArray train, cv::String opts; opts = cv::format("-D T=%s -D TN=%s -D kercn=%d %s -D DIST_TYPE=%d -D BLOCK_SIZE=%d -D MAX_DESC_LEN=%d", ocl::typeToStr(depth), ocl::typeToStr(CV_MAKETYPE(depth, kercn)), kercn, depth == CV_32F ? "-D T_FLOAT" : "", distType, block_size, max_desc_len); - ocl::Kernel k("BruteForceMatch_Match", ocl::features2d::brute_force_match_oclsrc, opts); + ocl::Kernel k("BruteForceMatch_Match", ocl::features::brute_force_match_oclsrc, opts); if(k.empty()) return false; @@ -206,7 +206,7 @@ static bool ocl_knnMatchSingle(InputArray query, InputArray train, UMat &trainId cv::String opts; opts = cv::format("-D T=%s -D TN=%s -D kercn=%d %s -D DIST_TYPE=%d -D BLOCK_SIZE=%d -D MAX_DESC_LEN=%d", ocl::typeToStr(depth), ocl::typeToStr(CV_MAKETYPE(depth, kercn)), kercn, depth == CV_32F ? "-D T_FLOAT" : "", distType, block_size, max_desc_len); - ocl::Kernel k("BruteForceMatch_knnMatch", ocl::features2d::brute_force_match_oclsrc, opts); + ocl::Kernel k("BruteForceMatch_knnMatch", ocl::features::brute_force_match_oclsrc, opts); if(k.empty()) return false; @@ -315,7 +315,7 @@ static bool ocl_radiusMatchSingle(InputArray query, InputArray train, cv::String opts; opts = cv::format("-D T=%s -D TN=%s -D kercn=%d %s -D DIST_TYPE=%d -D BLOCK_SIZE=%d", ocl::typeToStr(depth), ocl::typeToStr(CV_MAKETYPE(depth, kercn)), kercn, depth == CV_32F ? "-D T_FLOAT" : "", distType, block_size); - ocl::Kernel k("BruteForceMatch_RadiusMatch", ocl::features2d::brute_force_match_oclsrc, opts); + ocl::Kernel k("BruteForceMatch_RadiusMatch", ocl::features::brute_force_match_oclsrc, opts); if (k.empty()) return false; diff --git a/modules/features2d/src/mser.cpp b/modules/features/src/mser.cpp similarity index 100% rename from modules/features2d/src/mser.cpp rename to modules/features/src/mser.cpp diff --git a/modules/features2d/src/opencl/brute_force_match.cl b/modules/features/src/opencl/brute_force_match.cl similarity index 100% rename from modules/features2d/src/opencl/brute_force_match.cl rename to modules/features/src/opencl/brute_force_match.cl diff --git a/modules/features2d/src/opencl/fast.cl b/modules/features/src/opencl/fast.cl similarity index 100% rename from modules/features2d/src/opencl/fast.cl rename to modules/features/src/opencl/fast.cl diff --git a/modules/features2d/src/opencl/orb.cl b/modules/features/src/opencl/orb.cl similarity index 100% rename from modules/features2d/src/opencl/orb.cl rename to modules/features/src/opencl/orb.cl diff --git a/modules/features2d/src/orb.cpp b/modules/features/src/orb.cpp similarity index 99% rename from modules/features2d/src/orb.cpp rename to modules/features/src/orb.cpp index b0d32002a1..2a1da9ecd1 100644 --- a/modules/features2d/src/orb.cpp +++ b/modules/features/src/orb.cpp @@ -35,7 +35,7 @@ /** Authors: Ethan Rublee, Vincent Rabaud, Gary Bradski */ #include "precomp.hpp" -#include "opencl_kernels_features2d.hpp" +#include "opencl_kernels_features.hpp" #include #ifndef CV_IMPL_ADD @@ -70,7 +70,7 @@ ocl_HarrisResponses(const UMat& imgbuf, float scale = 1.f/((1 << 2) * blockSize * 255.f); float scale_sq_sq = scale * scale * scale * scale; - ocl::Kernel hr_ker("ORB_HarrisResponses", ocl::features2d::orb_oclsrc, + ocl::Kernel hr_ker("ORB_HarrisResponses", ocl::features::orb_oclsrc, format("-D ORB_RESPONSES -D blockSize=%d -D scale_sq_sq=%.12ef -D HARRIS_K=%.12ff", blockSize, scale_sq_sq, harris_k)); if( hr_ker.empty() ) return false; @@ -89,7 +89,7 @@ ocl_ICAngles(const UMat& imgbuf, const UMat& layerinfo, { size_t globalSize[] = {(size_t)nkeypoints}; - ocl::Kernel icangle_ker("ORB_ICAngle", ocl::features2d::orb_oclsrc, "-D ORB_ANGLES"); + ocl::Kernel icangle_ker("ORB_ICAngle", ocl::features::orb_oclsrc, "-D ORB_ANGLES"); if( icangle_ker.empty() ) return false; @@ -109,7 +109,7 @@ ocl_computeOrbDescriptors(const UMat& imgbuf, const UMat& layerInfo, { size_t globalSize[] = {(size_t)nkeypoints}; - ocl::Kernel desc_ker("ORB_computeDescriptor", ocl::features2d::orb_oclsrc, + ocl::Kernel desc_ker("ORB_computeDescriptor", ocl::features::orb_oclsrc, format("-D ORB_DESCRIPTORS -D WTA_K=%d", wta_k)); if( desc_ker.empty() ) return false; diff --git a/modules/features2d/src/precomp.hpp b/modules/features/src/precomp.hpp similarity index 98% rename from modules/features2d/src/precomp.hpp rename to modules/features/src/precomp.hpp index 27feebcd54..c7a13b4d82 100644 --- a/modules/features2d/src/precomp.hpp +++ b/modules/features/src/precomp.hpp @@ -43,7 +43,7 @@ #ifndef __OPENCV_PRECOMP_H__ #define __OPENCV_PRECOMP_H__ -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/core/utility.hpp" diff --git a/modules/features2d/src/sift.dispatch.cpp b/modules/features/src/sift.dispatch.cpp similarity index 100% rename from modules/features2d/src/sift.dispatch.cpp rename to modules/features/src/sift.dispatch.cpp diff --git a/modules/features2d/src/sift.simd.hpp b/modules/features/src/sift.simd.hpp similarity index 100% rename from modules/features2d/src/sift.simd.hpp rename to modules/features/src/sift.simd.hpp diff --git a/modules/features2d/test/ocl/test_brute_force_matcher.cpp b/modules/features/test/ocl/test_brute_force_matcher.cpp similarity index 100% rename from modules/features2d/test/ocl/test_brute_force_matcher.cpp rename to modules/features/test/ocl/test_brute_force_matcher.cpp diff --git a/modules/features2d/test/test_affine_feature.cpp b/modules/features/test/test_affine_feature.cpp similarity index 100% rename from modules/features2d/test/test_affine_feature.cpp rename to modules/features/test/test_affine_feature.cpp diff --git a/modules/features2d/test/test_blobdetector.cpp b/modules/features/test/test_blobdetector.cpp similarity index 100% rename from modules/features2d/test/test_blobdetector.cpp rename to modules/features/test/test_blobdetector.cpp diff --git a/modules/features2d/test/test_descriptors_invariance.cpp b/modules/features/test/test_descriptors_invariance.cpp similarity index 100% rename from modules/features2d/test/test_descriptors_invariance.cpp rename to modules/features/test/test_descriptors_invariance.cpp diff --git a/modules/features2d/test/test_descriptors_invariance.impl.hpp b/modules/features/test/test_descriptors_invariance.impl.hpp similarity index 100% rename from modules/features2d/test/test_descriptors_invariance.impl.hpp rename to modules/features/test/test_descriptors_invariance.impl.hpp diff --git a/modules/features2d/test/test_descriptors_regression.cpp b/modules/features/test/test_descriptors_regression.cpp similarity index 100% rename from modules/features2d/test/test_descriptors_regression.cpp rename to modules/features/test/test_descriptors_regression.cpp diff --git a/modules/features2d/test/test_descriptors_regression.impl.hpp b/modules/features/test/test_descriptors_regression.impl.hpp similarity index 100% rename from modules/features2d/test/test_descriptors_regression.impl.hpp rename to modules/features/test/test_descriptors_regression.impl.hpp diff --git a/modules/features2d/test/test_detectors_invariance.cpp b/modules/features/test/test_detectors_invariance.cpp similarity index 100% rename from modules/features2d/test/test_detectors_invariance.cpp rename to modules/features/test/test_detectors_invariance.cpp diff --git a/modules/features2d/test/test_detectors_invariance.impl.hpp b/modules/features/test/test_detectors_invariance.impl.hpp similarity index 100% rename from modules/features2d/test/test_detectors_invariance.impl.hpp rename to modules/features/test/test_detectors_invariance.impl.hpp diff --git a/modules/features2d/test/test_detectors_regression.cpp b/modules/features/test/test_detectors_regression.cpp similarity index 100% rename from modules/features2d/test/test_detectors_regression.cpp rename to modules/features/test/test_detectors_regression.cpp diff --git a/modules/features2d/test/test_detectors_regression.impl.hpp b/modules/features/test/test_detectors_regression.impl.hpp similarity index 100% rename from modules/features2d/test/test_detectors_regression.impl.hpp rename to modules/features/test/test_detectors_regression.impl.hpp diff --git a/modules/features2d/test/test_drawing.cpp b/modules/features/test/test_drawing.cpp similarity index 100% rename from modules/features2d/test/test_drawing.cpp rename to modules/features/test/test_drawing.cpp diff --git a/modules/features2d/test/test_fast.cpp b/modules/features/test/test_fast.cpp similarity index 100% rename from modules/features2d/test/test_fast.cpp rename to modules/features/test/test_fast.cpp diff --git a/modules/features2d/test/test_invariance_utils.hpp b/modules/features/test/test_invariance_utils.hpp similarity index 100% rename from modules/features2d/test/test_invariance_utils.hpp rename to modules/features/test/test_invariance_utils.hpp diff --git a/modules/features2d/test/test_keypoints.cpp b/modules/features/test/test_keypoints.cpp similarity index 100% rename from modules/features2d/test/test_keypoints.cpp rename to modules/features/test/test_keypoints.cpp diff --git a/modules/features2d/test/test_main.cpp b/modules/features/test/test_main.cpp similarity index 100% rename from modules/features2d/test/test_main.cpp rename to modules/features/test/test_main.cpp diff --git a/modules/features2d/test/test_matchers_algorithmic.cpp b/modules/features/test/test_matchers_algorithmic.cpp similarity index 100% rename from modules/features2d/test/test_matchers_algorithmic.cpp rename to modules/features/test/test_matchers_algorithmic.cpp diff --git a/modules/features2d/test/test_mser.cpp b/modules/features/test/test_mser.cpp similarity index 100% rename from modules/features2d/test/test_mser.cpp rename to modules/features/test/test_mser.cpp diff --git a/modules/features2d/test/test_nearestneighbors.cpp b/modules/features/test/test_nearestneighbors.cpp similarity index 100% rename from modules/features2d/test/test_nearestneighbors.cpp rename to modules/features/test/test_nearestneighbors.cpp diff --git a/modules/features2d/test/test_orb.cpp b/modules/features/test/test_orb.cpp similarity index 100% rename from modules/features2d/test/test_orb.cpp rename to modules/features/test/test_orb.cpp diff --git a/modules/features2d/test/test_precomp.hpp b/modules/features/test/test_precomp.hpp similarity index 89% rename from modules/features2d/test/test_precomp.hpp rename to modules/features/test/test_precomp.hpp index bf09866440..6e0c1eaadb 100644 --- a/modules/features2d/test/test_precomp.hpp +++ b/modules/features/test/test_precomp.hpp @@ -5,6 +5,6 @@ #define __OPENCV_TEST_PRECOMP_HPP__ #include "opencv2/ts.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #endif diff --git a/modules/features2d/test/test_sift.cpp b/modules/features/test/test_sift.cpp similarity index 100% rename from modules/features2d/test/test_sift.cpp rename to modules/features/test/test_sift.cpp diff --git a/modules/features2d/test/test_utils.cpp b/modules/features/test/test_utils.cpp similarity index 100% rename from modules/features2d/test/test_utils.cpp rename to modules/features/test/test_utils.cpp diff --git a/modules/features2d/misc/java/filelist b/modules/features2d/misc/java/filelist deleted file mode 100644 index 6c1b8ad8fd..0000000000 --- a/modules/features2d/misc/java/filelist +++ /dev/null @@ -1 +0,0 @@ -include/opencv2/features2d.hpp diff --git a/modules/features2d/misc/java/filelist_common b/modules/features2d/misc/java/filelist_common deleted file mode 100644 index 7831d457d7..0000000000 --- a/modules/features2d/misc/java/filelist_common +++ /dev/null @@ -1 +0,0 @@ -misc/java/src/cpp/features2d_converters.hpp diff --git a/modules/java/generator/src/cpp/jni_part.cpp b/modules/java/generator/src/cpp/jni_part.cpp index dc3bb5eeed..c293d4e2bd 100644 --- a/modules/java/generator/src/cpp/jni_part.cpp +++ b/modules/java/generator/src/cpp/jni_part.cpp @@ -6,8 +6,8 @@ #include "opencv2/opencv_modules.hpp" -#ifdef HAVE_OPENCV_FEATURES2D -# include "opencv2/features2d.hpp" +#ifdef HAVE_OPENCV_FEATURES +# include "opencv2/features.hpp" #endif #ifdef HAVE_OPENCV_VIDEO diff --git a/modules/js/src/core_bindings.cpp b/modules/js/src/core_bindings.cpp index d5bf9b076c..0dc0c4779b 100644 --- a/modules/js/src/core_bindings.cpp +++ b/modules/js/src/core_bindings.cpp @@ -99,7 +99,7 @@ typedef QRCodeDetectorAruco::Params QRCodeDetectorAruco_Params; using namespace cv::dnn; #endif -#ifdef HAVE_OPENCV_FEATURES2D +#ifdef HAVE_OPENCV_FEATURES typedef SimpleBlobDetector::Params SimpleBlobDetector_Params; #endif diff --git a/modules/js/test/test_features2d.js b/modules/js/test/test_features.js similarity index 99% rename from modules/js/test/test_features2d.js rename to modules/js/test/test_features.js index 5a78c27412..6875189a9d 100644 --- a/modules/js/test/test_features2d.js +++ b/modules/js/test/test_features.js @@ -18,7 +18,7 @@ function generateTestFrame(width, height) { return img; } -QUnit.module('Features2D', {}); +QUnit.module('Features', {}); QUnit.test('Detectors', function(assert) { let image = generateTestFrame(); diff --git a/modules/js/test/tests.js b/modules/js/test/tests.js index b099fdb3c8..e4decf4ff2 100644 --- a/modules/js/test/tests.js +++ b/modules/js/test/tests.js @@ -51,7 +51,7 @@ testrunner.run( 'test_imgproc.js', 'test_objdetect.js', 'test_video.js', - 'test_features2d.js', + 'test_features.js', 'test_photo.js', 'test_calib3d.js', ], diff --git a/modules/python/src2/hdr_parser.py b/modules/python/src2/hdr_parser.py index c547eae3cd..196703518d 100755 --- a/modules/python/src2/hdr_parser.py +++ b/modules/python/src2/hdr_parser.py @@ -14,7 +14,7 @@ opencv_hdr_list = [ "../../3d/include/opencv2/3d.hpp", "../../stereo/include/opencv2/stereo.hpp", "../../calib/include/opencv2/calib.hpp", -"../../features2d/include/opencv2/features2d.hpp", +"../../features/include/opencv2/features.hpp", "../../video/include/opencv2/video/tracking.hpp", "../../video/include/opencv2/video/background_segm.hpp", "../../objdetect/include/opencv2/objdetect.hpp", diff --git a/modules/python/test/test_features2d.py b/modules/python/test/test_features.py similarity index 92% rename from modules/python/test/test_features2d.py rename to modules/python/test/test_features.py index 5e16e80611..2f70e28289 100644 --- a/modules/python/test/test_features2d.py +++ b/modules/python/test/test_features.py @@ -6,7 +6,7 @@ import cv2 as cv from tests_common import NewOpenCVTests -class Features2D_Tests(NewOpenCVTests): +class Features_Tests(NewOpenCVTests): def test_issue_13406(self): self.assertEqual(True, hasattr(cv, 'drawKeypoints')) diff --git a/modules/stitching/CMakeLists.txt b/modules/stitching/CMakeLists.txt index 76dd80b159..42a6371ffe 100644 --- a/modules/stitching/CMakeLists.txt +++ b/modules/stitching/CMakeLists.txt @@ -8,6 +8,6 @@ set(STITCHING_CONTRIB_DEPS "opencv_xfeatures2d") if(BUILD_SHARED_LIBS AND BUILD_opencv_world AND OPENCV_WORLD_EXCLUDE_EXTRA_MODULES) set(STITCHING_CONTRIB_DEPS "") endif() -ocv_define_module(stitching opencv_imgproc opencv_features2d opencv_3d opencv_flann +ocv_define_module(stitching opencv_imgproc opencv_features opencv_3d opencv_flann OPTIONAL opencv_cudaarithm opencv_cudawarping opencv_cudafeatures2d opencv_cudalegacy opencv_cudaimgproc ${STITCHING_CONTRIB_DEPS} WRAP python) diff --git a/modules/stitching/include/opencv2/stitching.hpp b/modules/stitching/include/opencv2/stitching.hpp index cf4b150fb4..a75325fa95 100644 --- a/modules/stitching/include/opencv2/stitching.hpp +++ b/modules/stitching/include/opencv2/stitching.hpp @@ -44,7 +44,7 @@ #define OPENCV_STITCHING_STITCHER_HPP #include "opencv2/core.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/stitching/warpers.hpp" #include "opencv2/stitching/detail/matchers.hpp" #include "opencv2/stitching/detail/motion_estimators.hpp" diff --git a/modules/stitching/include/opencv2/stitching/detail/matchers.hpp b/modules/stitching/include/opencv2/stitching/detail/matchers.hpp index 8c2f15a570..c8b2ba993f 100644 --- a/modules/stitching/include/opencv2/stitching/detail/matchers.hpp +++ b/modules/stitching/include/opencv2/stitching/detail/matchers.hpp @@ -44,7 +44,7 @@ #define OPENCV_STITCHING_MATCHERS_HPP #include "opencv2/core.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/opencv_modules.hpp" diff --git a/modules/stitching/src/precomp.hpp b/modules/stitching/src/precomp.hpp index 0718ab866b..90194d2461 100644 --- a/modules/stitching/src/precomp.hpp +++ b/modules/stitching/src/precomp.hpp @@ -69,7 +69,7 @@ #include "opencv2/stitching/detail/util.hpp" #include "opencv2/stitching/detail/warpers.hpp" #include "opencv2/imgproc.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/3d.hpp" #ifdef HAVE_OPENCV_CUDAARITHM diff --git a/modules/ts/include/opencv2/ts/cuda_test.hpp b/modules/ts/include/opencv2/ts/cuda_test.hpp index 73e8f8ba84..91eb08733b 100644 --- a/modules/ts/include/opencv2/ts/cuda_test.hpp +++ b/modules/ts/include/opencv2/ts/cuda_test.hpp @@ -331,7 +331,7 @@ namespace cvtest CV_FLAGS(WarpFlags, INTER_NEAREST, INTER_LINEAR, INTER_CUBIC, WARP_INVERSE_MAP) ////////////////////////////////////////////////////////////////////// - // Features2D + // Features testing::AssertionResult assertKeyPointsEquals(const char* gold_expr, const char* actual_expr, std::vector& gold, std::vector& actual); diff --git a/modules/ts/misc/report.py b/modules/ts/misc/report.py index 7a010b77fd..c6847ff603 100755 --- a/modules/ts/misc/report.py +++ b/modules/ts/misc/report.py @@ -11,9 +11,9 @@ or multiple test results can be used for input. ### Example -./report.py -c min,mean,median -f '(LUT|Match).*640' opencv_perf_core.xml opencv_perf_features2d.xml +./report.py -c min,mean,median -f '(LUT|Match).*640' opencv_perf_core.xml opencv_perf_features.xml -opencv_perf_features2d.xml, opencv_perf_core.xml +opencv_perf_features.xml, opencv_perf_core.xml Name of Test Min Mean Median KnnMatch::OCL_BruteForceMatcherFixture::(640x480, 32FC1) 1365.04 ms 1368.18 ms 1368.52 ms diff --git a/modules/world/src/precomp.hpp b/modules/world/src/precomp.hpp index 4e8ab39751..bffda8f470 100644 --- a/modules/world/src/precomp.hpp +++ b/modules/world/src/precomp.hpp @@ -50,10 +50,10 @@ #ifdef HAVE_OPENCV_VIDEO #include "opencv2/video.hpp" #endif -#ifdef HAVE_OPENCV_FEATURES2D -#include "opencv2/features2d.hpp" +#ifdef HAVE_OPENCV_FEATURES +#include "opencv2/features.hpp" #endif -#ifdef HAVE_OPENCV_XFEATURES2D +#ifdef HAVE_OPENCV_XFEATURES #include "opencv2/xfeatures2d/nonfree.hpp" #endif diff --git a/platforms/js/build_js.py b/platforms/js/build_js.py index 8248160019..ef8d61dce7 100755 --- a/platforms/js/build_js.py +++ b/platforms/js/build_js.py @@ -121,7 +121,7 @@ class Builder: "-DBUILD_opencv_apps=OFF", "-DBUILD_opencv_3d=ON", "-DBUILD_opencv_dnn=ON", - "-DBUILD_opencv_features2d=ON", + "-DBUILD_opencv_features=ON", "-DBUILD_opencv_flann=ON", # No bindings provided. This module is used as a dependency for other modules. "-DBUILD_opencv_gapi=OFF", "-DBUILD_opencv_ml=OFF", diff --git a/platforms/js/opencv_js.config.py b/platforms/js/opencv_js.config.py index 2eb2008557..7298c76c34 100644 --- a/platforms/js/opencv_js.config.py +++ b/platforms/js/opencv_js.config.py @@ -151,7 +151,7 @@ dnn = {'dnn_Net': ['setInput', 'forward', 'setPreferableBackend','getUnconnected '': ['readNetFromCaffe', 'readNetFromTensorflow', 'readNetFromDarknet', 'readNetFromONNX', 'readNetFromTFLite', 'readNet', 'blobFromImage']} -features2d = {'Feature2D': ['detect', 'compute', 'detectAndCompute', 'descriptorSize', 'descriptorType', 'defaultNorm', 'empty', 'getDefaultName'], +features = {'Feature2D': ['detect', 'compute', 'detectAndCompute', 'descriptorSize', 'descriptorType', 'defaultNorm', 'empty', 'getDefaultName'], 'ORB': ['create', 'setMaxFeatures', 'setScaleFactor', 'setNLevels', 'setEdgeThreshold', 'setFastThreshold', 'setFirstLevel', 'setWTA_K', 'setScoreType', 'setPatchSize', 'getFastThreshold', 'getDefaultName'], 'MSER': ['create', 'detectRegions', 'setDelta', 'getDelta', 'setMinArea', 'getMinArea', 'setMaxArea', 'getMaxArea', 'setPass2Only', 'getPass2Only', 'getDefaultName'], 'FastFeatureDetector': ['create', 'setThreshold', 'getThreshold', 'setNonmaxSuppression', 'getNonmaxSuppression', 'setType', 'getType', 'getDefaultName'], @@ -210,7 +210,7 @@ calib = { } -white_list = makeWhiteList([core, imgproc, objdetect, video, dnn, features2d, photo, _3d, calib]) +white_list = makeWhiteList([core, imgproc, objdetect, video, dnn, features, photo, _3d, calib]) # namespace_prefix_override['dnn'] = '' # compatibility stuff (enabled by default) # namespace_prefix_override['aruco'] = '' # compatibility stuff (enabled by default) diff --git a/platforms/wince/readme.md b/platforms/wince/readme.md index f00e5efe9b..1c41e15c11 100644 --- a/platforms/wince/readme.md +++ b/platforms/wince/readme.md @@ -24,9 +24,8 @@ For headless WEC2013, this configuration may not be limited to but is known to w -DBUILD_opencv_apps=OFF ` -DBUILD_opencv_3d=OFF ` -DBUILD_opencv_highgui=OFF ` --DBUILD_opencv_features2d=OFF ` +-DBUILD_opencv_features=OFF ` -DBUILD_opencv_flann=OFF ` --DBUILD_opencv_ml=OFF ` -DBUILD_opencv_objdetect=OFF ` -DBUILD_opencv_photo=OFF ` -DBUILD_opencv_shape=OFF ` diff --git a/samples/android/tutorial-2-mixedprocessing/CMakeLists.txt b/samples/android/tutorial-2-mixedprocessing/CMakeLists.txt index c254dd8f9a..a53c60c661 100644 --- a/samples/android/tutorial-2-mixedprocessing/CMakeLists.txt +++ b/samples/android/tutorial-2-mixedprocessing/CMakeLists.txt @@ -3,7 +3,7 @@ set(sample example-tutorial-2-mixedprocessing) if(BUILD_FAT_JAVA_LIB) set(native_deps opencv_java) else() - set(native_deps opencv_features2d) + set(native_deps opencv_features) endif() add_android_project(${sample} "${CMAKE_CURRENT_SOURCE_DIR}" LIBRARY_DEPS "${OPENCV_ANDROID_LIB_DIR}" SDK_TARGET 11 "${ANDROID_SDK_TARGET}" NATIVE_DEPS ${native_deps}) diff --git a/samples/android/tutorial-2-mixedprocessing/jni/jni_part.cpp b/samples/android/tutorial-2-mixedprocessing/jni/jni_part.cpp index 72fa0b24ab..3ab8025684 100644 --- a/samples/android/tutorial-2-mixedprocessing/jni/jni_part.cpp +++ b/samples/android/tutorial-2-mixedprocessing/jni/jni_part.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include using namespace std; diff --git a/samples/cpp/CMakeLists.txt b/samples/cpp/CMakeLists.txt index 4fc4c1fdb1..df6c162e0e 100644 --- a/samples/cpp/CMakeLists.txt +++ b/samples/cpp/CMakeLists.txt @@ -10,7 +10,7 @@ set(OPENCV_CPP_SAMPLES_REQUIRED_DEPS opencv_video opencv_objdetect opencv_photo - opencv_features2d + opencv_features opencv_3d opencv_stereo opencv_calib diff --git a/samples/cpp/asift.cpp b/samples/cpp/asift.cpp index 7e12e9ca78..7768c25d7d 100644 --- a/samples/cpp/asift.cpp +++ b/samples/cpp/asift.cpp @@ -1,6 +1,6 @@ #include #include -#include +#include #include #include #include diff --git a/samples/cpp/detect_mser.cpp b/samples/cpp/detect_mser.cpp index d289e22923..a76b88322a 100644 --- a/samples/cpp/detect_mser.cpp +++ b/samples/cpp/detect_mser.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include "opencv2/core/opengl.hpp" #include diff --git a/samples/cpp/essential_mat_reconstr.cpp b/samples/cpp/essential_mat_reconstr.cpp index 5bb19cfbcb..26987fb5ad 100644 --- a/samples/cpp/essential_mat_reconstr.cpp +++ b/samples/cpp/essential_mat_reconstr.cpp @@ -3,7 +3,7 @@ // of this distribution and at http://opencv.org/license.html #include "opencv2/3d.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" diff --git a/samples/cpp/flann_search_dataset.cpp b/samples/cpp/flann_search_dataset.cpp index 01ef93f821..ac83534779 100644 --- a/samples/cpp/flann_search_dataset.cpp +++ b/samples/cpp/flann_search_dataset.cpp @@ -6,7 +6,7 @@ #include "opencv2/core.hpp" #include "opencv2/core/utils/filesystem.hpp" #include "opencv2/highgui.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/flann.hpp" using namespace cv; diff --git a/samples/cpp/snippets/detect_blob.cpp b/samples/cpp/snippets/detect_blob.cpp index dcb6f7d336..c57b5b646c 100644 --- a/samples/cpp/snippets/detect_blob.cpp +++ b/samples/cpp/snippets/detect_blob.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/samples/cpp/snippets/epipolar_lines.cpp b/samples/cpp/snippets/epipolar_lines.cpp index 52bfcfec12..d58ff531f7 100644 --- a/samples/cpp/snippets/epipolar_lines.cpp +++ b/samples/cpp/snippets/epipolar_lines.cpp @@ -3,7 +3,7 @@ // of this distribution and at http://opencv.org/license.html #include "opencv2/3d.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" diff --git a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/Model.h b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/Model.h index 92f004d4d9..cf6573e98d 100644 --- a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/Model.h +++ b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/Model.h @@ -10,7 +10,7 @@ #include #include -#include +#include class Model { diff --git a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/RobustMatcher.cpp b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/RobustMatcher.cpp index 2cded40667..740e35931f 100644 --- a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/RobustMatcher.cpp +++ b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/RobustMatcher.cpp @@ -8,7 +8,7 @@ #include "RobustMatcher.h" #include -#include +#include RobustMatcher::~RobustMatcher() { diff --git a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/RobustMatcher.h b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/RobustMatcher.h index 152dd7cdc9..0ff5369313 100644 --- a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/RobustMatcher.h +++ b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/RobustMatcher.h @@ -12,7 +12,7 @@ #include #include -#include +#include class RobustMatcher { public: diff --git a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/Utils.h b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/Utils.h index 18a5985548..732a08b79c 100644 --- a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/Utils.h +++ b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/Utils.h @@ -10,7 +10,7 @@ #include -#include +#include #include "PnPProblem.h" // Draw a text with the question point diff --git a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/main_registration.cpp b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/main_registration.cpp index d7a10bc683..c76e9830e6 100644 --- a/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/main_registration.cpp +++ b/samples/cpp/tutorial_code/calib3d/real_time_pose_estimation/src/main_registration.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include // PnP Tutorial #include "Mesh.h" #include "Model.h" diff --git a/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp b/samples/cpp/tutorial_code/features/AKAZE_match.cpp similarity index 99% rename from samples/cpp/tutorial_code/features2D/AKAZE_match.cpp rename to samples/cpp/tutorial_code/features/AKAZE_match.cpp index 81a0ada1eb..b207c168b5 100644 --- a/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp +++ b/samples/cpp/tutorial_code/features/AKAZE_match.cpp @@ -1,6 +1,6 @@ #include #ifdef HAVE_OPENCV_XFEATURES2D -#include +#include #include "opencv2/xfeatures2d.hpp" #include #include diff --git a/samples/cpp/tutorial_code/features2D/AKAZE_tracking/planar_tracking.cpp b/samples/cpp/tutorial_code/features/AKAZE_tracking/planar_tracking.cpp similarity index 99% rename from samples/cpp/tutorial_code/features2D/AKAZE_tracking/planar_tracking.cpp rename to samples/cpp/tutorial_code/features/AKAZE_tracking/planar_tracking.cpp index e8c006dd3b..ad19221c18 100644 --- a/samples/cpp/tutorial_code/features2D/AKAZE_tracking/planar_tracking.cpp +++ b/samples/cpp/tutorial_code/features/AKAZE_tracking/planar_tracking.cpp @@ -3,7 +3,7 @@ #include #ifdef HAVE_OPENCV_XFEATURES2D -#include +#include #include "opencv2/xfeatures2d.hpp" #include #include diff --git a/samples/cpp/tutorial_code/features2D/AKAZE_tracking/stats.h b/samples/cpp/tutorial_code/features/AKAZE_tracking/stats.h similarity index 100% rename from samples/cpp/tutorial_code/features2D/AKAZE_tracking/stats.h rename to samples/cpp/tutorial_code/features/AKAZE_tracking/stats.h diff --git a/samples/cpp/tutorial_code/features2D/AKAZE_tracking/utils.h b/samples/cpp/tutorial_code/features/AKAZE_tracking/utils.h similarity index 100% rename from samples/cpp/tutorial_code/features2D/AKAZE_tracking/utils.h rename to samples/cpp/tutorial_code/features/AKAZE_tracking/utils.h diff --git a/samples/cpp/tutorial_code/features2D/Homography/decompose_homography.cpp b/samples/cpp/tutorial_code/features/Homography/decompose_homography.cpp similarity index 100% rename from samples/cpp/tutorial_code/features2D/Homography/decompose_homography.cpp rename to samples/cpp/tutorial_code/features/Homography/decompose_homography.cpp diff --git a/samples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cpp b/samples/cpp/tutorial_code/features/Homography/homography_from_camera_displacement.cpp similarity index 100% rename from samples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cpp rename to samples/cpp/tutorial_code/features/Homography/homography_from_camera_displacement.cpp diff --git a/samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp b/samples/cpp/tutorial_code/features/Homography/panorama_stitching_rotating_camera.cpp similarity index 100% rename from samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp rename to samples/cpp/tutorial_code/features/Homography/panorama_stitching_rotating_camera.cpp diff --git a/samples/cpp/tutorial_code/features2D/Homography/perspective_correction.cpp b/samples/cpp/tutorial_code/features/Homography/perspective_correction.cpp similarity index 100% rename from samples/cpp/tutorial_code/features2D/Homography/perspective_correction.cpp rename to samples/cpp/tutorial_code/features/Homography/perspective_correction.cpp diff --git a/samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp b/samples/cpp/tutorial_code/features/Homography/pose_from_homography.cpp similarity index 100% rename from samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp rename to samples/cpp/tutorial_code/features/Homography/pose_from_homography.cpp diff --git a/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp b/samples/cpp/tutorial_code/features/feature_description/SURF_matching_Demo.cpp similarity index 98% rename from samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp rename to samples/cpp/tutorial_code/features/feature_description/SURF_matching_Demo.cpp index 5c307bb1e2..3daeda5dfc 100644 --- a/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp +++ b/samples/cpp/tutorial_code/features/feature_description/SURF_matching_Demo.cpp @@ -2,7 +2,7 @@ #include "opencv2/core.hpp" #ifdef HAVE_OPENCV_XFEATURES2D #include "opencv2/highgui.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/xfeatures2d.hpp" using namespace cv; diff --git a/samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp b/samples/cpp/tutorial_code/features/feature_detection/SURF_detection_Demo.cpp similarity index 97% rename from samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp rename to samples/cpp/tutorial_code/features/feature_detection/SURF_detection_Demo.cpp index f1256e65e2..fc508d1d3f 100644 --- a/samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp +++ b/samples/cpp/tutorial_code/features/feature_detection/SURF_detection_Demo.cpp @@ -2,7 +2,7 @@ #include "opencv2/core.hpp" #ifdef HAVE_OPENCV_XFEATURES2D #include "opencv2/highgui.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/xfeatures2d.hpp" using namespace cv; diff --git a/samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp b/samples/cpp/tutorial_code/features/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp similarity index 98% rename from samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp rename to samples/cpp/tutorial_code/features/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp index e968ab2a0f..a59feca27a 100644 --- a/samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp +++ b/samples/cpp/tutorial_code/features/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp @@ -2,7 +2,7 @@ #include "opencv2/core.hpp" #ifdef HAVE_OPENCV_XFEATURES2D #include "opencv2/highgui.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/xfeatures2d.hpp" using namespace cv; diff --git a/samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp b/samples/cpp/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.cpp similarity index 99% rename from samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp rename to samples/cpp/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.cpp index dd3e45203c..5aad669c25 100644 --- a/samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp +++ b/samples/cpp/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.cpp @@ -4,7 +4,7 @@ #include "opencv2/3d.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" -#include "opencv2/features2d.hpp" +#include "opencv2/features.hpp" #include "opencv2/xfeatures2d.hpp" using namespace cv; diff --git a/samples/cpp/tutorial_code/snippets/core_various.cpp b/samples/cpp/tutorial_code/snippets/core_various.cpp index b3d590100d..834e21ba73 100644 --- a/samples/cpp/tutorial_code/snippets/core_various.cpp +++ b/samples/cpp/tutorial_code/snippets/core_various.cpp @@ -1,7 +1,7 @@ #include #include #include -#include +#include #include using namespace std; diff --git a/samples/gpu/CMakeLists.txt b/samples/gpu/CMakeLists.txt index 2535138109..f14689fe43 100644 --- a/samples/gpu/CMakeLists.txt +++ b/samples/gpu/CMakeLists.txt @@ -10,7 +10,7 @@ set(OPENCV_CUDA_SAMPLES_REQUIRED_DEPS opencv_ml opencv_video opencv_objdetect - opencv_features2d + opencv_features opencv_3d opencv_superres opencv_cudaarithm diff --git a/samples/java/sbt/src/main/scala/ScalaCorrespondenceMatchingDemo.scala b/samples/java/sbt/src/main/scala/ScalaCorrespondenceMatchingDemo.scala index 47eae31570..63d5885d52 100644 --- a/samples/java/sbt/src/main/scala/ScalaCorrespondenceMatchingDemo.scala +++ b/samples/java/sbt/src/main/scala/ScalaCorrespondenceMatchingDemo.scala @@ -1,10 +1,10 @@ import org.opencv.imgcodecs.Imgcodecs -import org.opencv.features2d.DescriptorExtractor -import org.opencv.features2d.Features2d +import org.opencv.features.DescriptorExtractor +import org.opencv.features.Features import org.opencv.core.MatOfKeyPoint import org.opencv.core.Mat -import org.opencv.features2d.FeatureDetector -import org.opencv.features2d.DescriptorMatcher +import org.opencv.features.FeatureDetector +import org.opencv.features.DescriptorMatcher import org.opencv.core.MatOfDMatch import reflect._ @@ -61,7 +61,7 @@ object ScalaCorrespondenceMatchingDemo { // Visualize the matches and save the visualization. val correspondenceImage = new Mat - Features2d.drawMatches(leftImage, leftKeyPoints, rightImage, rightKeyPoints, dmatches, correspondenceImage) + Features.drawMatches(leftImage, leftKeyPoints, rightImage, rightKeyPoints, dmatches, correspondenceImage) val filename = "scalaCorrespondences.png" println(s"Writing ${filename}") assert(Imgcodecs.imwrite(filename, correspondenceImage)) diff --git a/samples/java/tutorial_code/features2D/Homography/PanoramaStitchingRotatingCamera.java b/samples/java/tutorial_code/features/Homography/PanoramaStitchingRotatingCamera.java similarity index 100% rename from samples/java/tutorial_code/features2D/Homography/PanoramaStitchingRotatingCamera.java rename to samples/java/tutorial_code/features/Homography/PanoramaStitchingRotatingCamera.java diff --git a/samples/java/tutorial_code/features2D/Homography/PerspectiveCorrection.java b/samples/java/tutorial_code/features/Homography/PerspectiveCorrection.java similarity index 100% rename from samples/java/tutorial_code/features2D/Homography/PerspectiveCorrection.java rename to samples/java/tutorial_code/features/Homography/PerspectiveCorrection.java diff --git a/samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java b/samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java similarity index 97% rename from samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java rename to samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java index 818ad73de3..64911142a5 100644 --- a/samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java +++ b/samples/java/tutorial_code/features/akaze_matching/AKAZEMatchDemo.java @@ -16,8 +16,8 @@ import org.opencv.core.MatOfDMatch; import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Scalar; import org.opencv.xfeatures2d.AKAZE; -import org.opencv.features2d.DescriptorMatcher; -import org.opencv.features2d.Features2d; +import org.opencv.features.DescriptorMatcher; +import org.opencv.features.Features; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.w3c.dom.Document; @@ -133,7 +133,7 @@ class AKAZEMatch { MatOfKeyPoint inliers1 = new MatOfKeyPoint(listOfInliers1.toArray(new KeyPoint[listOfInliers1.size()])); MatOfKeyPoint inliers2 = new MatOfKeyPoint(listOfInliers2.toArray(new KeyPoint[listOfInliers2.size()])); MatOfDMatch goodMatches = new MatOfDMatch(listOfGoodMatches.toArray(new DMatch[listOfGoodMatches.size()])); - Features2d.drawMatches(img1, inliers1, img2, inliers2, goodMatches, res); + Features.drawMatches(img1, inliers1, img2, inliers2, goodMatches, res); Imgcodecs.imwrite("akaze_result.png", res); double inlierRatio = listOfInliers1.size() / (double) listOfMatched1.size(); diff --git a/samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java b/samples/java/tutorial_code/features/feature_description/SURFMatchingDemo.java similarity index 92% rename from samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java rename to samples/java/tutorial_code/features/feature_description/SURFMatchingDemo.java index ac64417d93..9f66aeaa97 100644 --- a/samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java +++ b/samples/java/tutorial_code/features/feature_description/SURFMatchingDemo.java @@ -2,8 +2,8 @@ import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfDMatch; import org.opencv.core.MatOfKeyPoint; -import org.opencv.features2d.DescriptorMatcher; -import org.opencv.features2d.Features2d; +import org.opencv.features.DescriptorMatcher; +import org.opencv.features.Features; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.xfeatures2d.SURF; @@ -37,7 +37,7 @@ class SURFMatching { //-- Draw matches Mat imgMatches = new Mat(); - Features2d.drawMatches(img1, keypoints1, img2, keypoints2, matches, imgMatches); + Features.drawMatches(img1, keypoints1, img2, keypoints2, matches, imgMatches); HighGui.imshow("Matches", imgMatches); HighGui.waitKey(0); diff --git a/samples/java/tutorial_code/features2D/feature_detection/SURFDetectionDemo.java b/samples/java/tutorial_code/features/feature_detection/SURFDetectionDemo.java similarity index 93% rename from samples/java/tutorial_code/features2D/feature_detection/SURFDetectionDemo.java rename to samples/java/tutorial_code/features/feature_detection/SURFDetectionDemo.java index c78a0c66bd..376544bd67 100644 --- a/samples/java/tutorial_code/features2D/feature_detection/SURFDetectionDemo.java +++ b/samples/java/tutorial_code/features/feature_detection/SURFDetectionDemo.java @@ -1,7 +1,7 @@ import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfKeyPoint; -import org.opencv.features2d.Features2d; +import org.opencv.features.Features; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.xfeatures2d.SURF; @@ -24,7 +24,7 @@ class SURFDetection { detector.detect(src, keypoints); //-- Draw keypoints - Features2d.drawKeypoints(src, keypoints, src); + Features.drawKeypoints(src, keypoints, src); //-- Show detected (drawn) keypoints HighGui.imshow("SURF Keypoints", src); diff --git a/samples/java/tutorial_code/features2D/feature_flann_matcher/SURFFLANNMatchingDemo.java b/samples/java/tutorial_code/features/feature_flann_matcher/SURFFLANNMatchingDemo.java similarity index 90% rename from samples/java/tutorial_code/features2D/feature_flann_matcher/SURFFLANNMatchingDemo.java rename to samples/java/tutorial_code/features/feature_flann_matcher/SURFFLANNMatchingDemo.java index bd24e9a8e2..a6994bc839 100644 --- a/samples/java/tutorial_code/features2D/feature_flann_matcher/SURFFLANNMatchingDemo.java +++ b/samples/java/tutorial_code/features/feature_flann_matcher/SURFFLANNMatchingDemo.java @@ -8,8 +8,8 @@ import org.opencv.core.MatOfByte; import org.opencv.core.MatOfDMatch; import org.opencv.core.MatOfKeyPoint; import org.opencv.core.Scalar; -import org.opencv.features2d.DescriptorMatcher; -import org.opencv.features2d.Features2d; +import org.opencv.features.DescriptorMatcher; +import org.opencv.features.Features; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.xfeatures2d.SURF; @@ -57,8 +57,8 @@ class SURFFLANNMatching { //-- Draw matches Mat imgMatches = new Mat(); - Features2d.drawMatches(img1, keypoints1, img2, keypoints2, goodMatches, imgMatches, Scalar.all(-1), - Scalar.all(-1), new MatOfByte(), Features2d.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS); + Features.drawMatches(img1, keypoints1, img2, keypoints2, goodMatches, imgMatches, Scalar.all(-1), + Scalar.all(-1), new MatOfByte(), Features.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS); //-- Show detected matches HighGui.imshow("Good Matches", imgMatches); diff --git a/samples/java/tutorial_code/features2D/feature_homography/SURFFLANNMatchingHomographyDemo.java b/samples/java/tutorial_code/features/feature_homography/SURFFLANNMatchingHomographyDemo.java similarity index 94% rename from samples/java/tutorial_code/features2D/feature_homography/SURFFLANNMatchingHomographyDemo.java rename to samples/java/tutorial_code/features/feature_homography/SURFFLANNMatchingHomographyDemo.java index 3a27a13097..feeb04ce77 100644 --- a/samples/java/tutorial_code/features2D/feature_homography/SURFFLANNMatchingHomographyDemo.java +++ b/samples/java/tutorial_code/features/feature_homography/SURFFLANNMatchingHomographyDemo.java @@ -13,8 +13,8 @@ import org.opencv.core.MatOfKeyPoint; import org.opencv.core.MatOfPoint2f; import org.opencv.core.Point; import org.opencv.core.Scalar; -import org.opencv.features2d.DescriptorMatcher; -import org.opencv.features2d.Features2d; +import org.opencv.features.DescriptorMatcher; +import org.opencv.features.Features; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; @@ -63,8 +63,8 @@ class SURFFLANNMatchingHomography { //-- Draw matches Mat imgMatches = new Mat(); - Features2d.drawMatches(imgObject, keypointsObject, imgScene, keypointsScene, goodMatches, imgMatches, Scalar.all(-1), - Scalar.all(-1), new MatOfByte(), Features2d.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS); + Features.drawMatches(imgObject, keypointsObject, imgScene, keypointsScene, goodMatches, imgMatches, Scalar.all(-1), + Scalar.all(-1), new MatOfByte(), Features.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS); //-- Localize the object List obj = new ArrayList<>(); diff --git a/samples/python/plane_tracker.py b/samples/python/plane_tracker.py index 8134bfa41e..0fa5186264 100755 --- a/samples/python/plane_tracker.py +++ b/samples/python/plane_tracker.py @@ -4,7 +4,7 @@ Multitarget planar tracking ================== -Example of using features2d framework for interactive video homography matching. +Example of using "features" framework for interactive video homography matching. ORB features and FLANN matcher are used. This sample provides PlaneTracker class and an example of its usage. diff --git a/samples/python/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.py b/samples/python/tutorial_code/features/Homography/panorama_stitching_rotating_camera.py similarity index 100% rename from samples/python/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.py rename to samples/python/tutorial_code/features/Homography/panorama_stitching_rotating_camera.py diff --git a/samples/python/tutorial_code/features2D/Homography/perspective_correction.py b/samples/python/tutorial_code/features/Homography/perspective_correction.py similarity index 100% rename from samples/python/tutorial_code/features2D/Homography/perspective_correction.py rename to samples/python/tutorial_code/features/Homography/perspective_correction.py diff --git a/samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py b/samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py similarity index 100% rename from samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py rename to samples/python/tutorial_code/features/akaze_matching/AKAZE_match.py diff --git a/samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py b/samples/python/tutorial_code/features/feature_description/SURF_matching_Demo.py similarity index 100% rename from samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py rename to samples/python/tutorial_code/features/feature_description/SURF_matching_Demo.py diff --git a/samples/python/tutorial_code/features2D/feature_detection/SURF_detection_Demo.py b/samples/python/tutorial_code/features/feature_detection/SURF_detection_Demo.py similarity index 100% rename from samples/python/tutorial_code/features2D/feature_detection/SURF_detection_Demo.py rename to samples/python/tutorial_code/features/feature_detection/SURF_detection_Demo.py diff --git a/samples/python/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.py b/samples/python/tutorial_code/features/feature_flann_matcher/SURF_FLANN_matching_Demo.py similarity index 100% rename from samples/python/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.py rename to samples/python/tutorial_code/features/feature_flann_matcher/SURF_FLANN_matching_Demo.py diff --git a/samples/python/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.py b/samples/python/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.py similarity index 100% rename from samples/python/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.py rename to samples/python/tutorial_code/features/feature_homography/SURF_FLANN_matching_homography_Demo.py diff --git a/samples/tapi/CMakeLists.txt b/samples/tapi/CMakeLists.txt index 5d13a5fdfa..ee75b83746 100644 --- a/samples/tapi/CMakeLists.txt +++ b/samples/tapi/CMakeLists.txt @@ -8,7 +8,7 @@ set(OPENCV_TAPI_SAMPLES_REQUIRED_DEPS opencv_videoio opencv_highgui opencv_objdetect - opencv_features2d + opencv_features opencv_3d opencv_stereo opencv_flann)