1 Feature Description {#tutorial_feature_description}
7 In this tutorial you will learn how to:
9 - Use the @ref cv::DescriptorExtractor interface in order to find the feature vector correspondent
10 to the keypoints. Specifically:
11 - Use cv::xfeatures2d::SURF and its function cv::xfeatures2d::SURF::compute to perform the
12 required calculations.
13 - Use a @ref cv::DescriptorMatcher to match the features vector
14 - Use the function @ref cv::drawMatches to draw the detected matches.
16 \warning You need the <a href="https://github.com/opencv/opencv_contrib">OpenCV contrib modules</a> to be able to use the SURF features
17 (alternatives are ORB, KAZE, ... features).
26 This tutorial code's is shown lines below. You can also download it from
27 [here](https://github.com/opencv/opencv/tree/3.4/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp)
28 @include samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp
32 This tutorial code's is shown lines below. You can also download it from
33 [here](https://github.com/opencv/opencv/tree/3.4/samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java)
34 @include samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java
38 This tutorial code's is shown lines below. You can also download it from
39 [here](https://github.com/opencv/opencv/tree/3.4/samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py)
40 @include samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py
49 Here is the result after applying the BruteForce matcher between the two original images:
51 ![](images/Feature_Description_BruteForce_Result.jpg)