
Rename features2d #26405 This PR renames the module _features2d_ to _features_ as one of the Big OpenCV Cleanup #25007. Related PR: opencv/opencv_contrib: [#3820](https://github.com/opencv/opencv_contrib/pull/3820) opencv/ci-gha-workflow: [#192](https://github.com/opencv/ci-gha-workflow/pull/192)
2.0 KiB
Feature Description
@tableofcontents
@prev_tutorial{tutorial_feature_detection} @next_tutorial{tutorial_feature_flann_matcher}
Original author | Ana Huamán |
Compatibility | OpenCV >= 3.0 |
Goal
In this tutorial you will learn how to:
- Use the @ref cv::DescriptorExtractor interface in order to find the feature vector correspondent
to the keypoints. Specifically:
- Use cv::xfeatures2d::SURF and its function cv::xfeatures2d::SURF::compute to perform the required calculations.
- Use a @ref cv::DescriptorMatcher to match the features vector
- Use the function @ref cv::drawMatches to draw the detected matches.
\warning You need the OpenCV contrib modules to be able to use the SURF features (alternatives are ORB, KAZE, ... features).
Theory
Code
@add_toggle_cpp This tutorial code's is shown lines below. You can also download it from here @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 @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 @include samples/python/tutorial_code/features/feature_description/SURF_matching_Demo.py @end_toggle
Explanation
Result
Here is the result after applying the BruteForce matcher between the two original images: