.. _Table-Of-Content-Feature2D:

*feature2d* module. 2D Features framework
-----------------------------------------------------------

Learn about how to use the feature points  detectors, descriptors and matching framework found inside OpenCV.

.. include:: ../../definitions/tocDefinitions.rst 

+ 
  .. tabularcolumns:: m{100pt} m{300pt}
  .. cssclass:: toctableopencv

  ===================== ==============================================
   |Harris|             **Title:** :ref:`harris_detector`
  
                        *Compatibility:* > OpenCV 2.0
                        
                        *Author:* |Author_AnaH|
                        
                        Why is it a good idea to track corners? We learn to use the Harris method to detect corners
  
  ===================== ==============================================
  
  .. |Harris| image:: images/trackingmotion/Harris_Detector_Cover.jpg
                   :height: 90pt
                   :width:  90pt
  

+ 
  .. tabularcolumns:: m{100pt} m{300pt}
  .. cssclass:: toctableopencv

  ===================== ==============================================
   |ShiTomasi|          **Title:** :ref:`good_features_to_track`
  
                        *Compatibility:* > OpenCV 2.0
                        
                        *Author:* |Author_AnaH|
                        
                        Where we use an improved method to detect corners more accuratelyI
  
  ===================== ==============================================
  
  .. |ShiTomasi| image:: images/trackingmotion/Shi_Tomasi_Detector_Cover.jpg
                      :height: 90pt
                      :width:  90pt


+ 
  .. tabularcolumns:: m{100pt} m{300pt}
  .. cssclass:: toctableopencv

  ===================== ==============================================
   |GenericCorner|      **Title:** :ref:`generic_corner_detector`
  
                        *Compatibility:* > OpenCV 2.0
                        
                        *Author:* |Author_AnaH|
                        
                        Here you will learn how to use OpenCV functions to make your personalized corner detector!
  
  ===================== ==============================================
  
  .. |GenericCorner| image:: images/trackingmotion/Generic_Corner_Detector_Cover.jpg
                          :height: 90pt
                          :width:  90pt


+ 
  .. tabularcolumns:: m{100pt} m{300pt}
  .. cssclass:: toctableopencv

  ===================== ==============================================
   |Subpixel|           **Title:** :ref:`corner_subpixeles`
  
                        *Compatibility:* > OpenCV 2.0
                        
                        *Author:* |Author_AnaH|
                        
                        Is pixel resolution enough? Here we learn a simple method to improve our accuracy.
  
  ===================== ==============================================
  
  .. |Subpixel| image:: images/trackingmotion/Corner_Subpixeles_Cover.jpg
                     :height: 90pt
                     :width:  90pt

+ 
  .. tabularcolumns:: m{100pt} m{300pt}
  .. cssclass:: toctableopencv

  ===================== ==============================================
   |FeatureDetect|      **Title:** :ref:`feature_detection`
  
                        *Compatibility:* > OpenCV 2.0
                        
                        *Author:* |Author_AnaH|
                        
                        In this tutorial, you will use *features2d* to detect interest points.
  
  ===================== ==============================================
  
  .. |FeatureDetect| image:: images/Feature_Detection_Tutorial_Cover.jpg
                     :height: 90pt
                     :width:  90pt


+ 
  .. tabularcolumns:: m{100pt} m{300pt}
  .. cssclass:: toctableopencv

  ===================== ==============================================
   |FeatureDescript|    **Title:** :ref:`feature_description`
  
                        *Compatibility:* > OpenCV 2.0
                        
                        *Author:* |Author_AnaH|
                        
                        In this tutorial, you will use *features2d* to calculate feature vectors.
  
  ===================== ==============================================
  
  .. |FeatureDescript| image:: images/Feature_Description_Tutorial_Cover.jpg
                       :height: 90pt
                       :width:  90pt

+ 
  .. tabularcolumns:: m{100pt} m{300pt}
  .. cssclass:: toctableopencv

  ===================== ==============================================
   |FeatureFlann|       **Title:** :ref:`feature_flann_matcher`
  
                        *Compatibility:* > OpenCV 2.0
                        
                        *Author:* |Author_AnaH|
                        
                        In this tutorial, you will use the FLANN library to make a fast matching.
  
  ===================== ==============================================
  
  .. |FeatureFlann| image:: images/Feature_Flann_Matcher_Tutorial_Cover.jpg
                    :height: 90pt
                    :width:  90pt

+ 
  .. tabularcolumns:: m{100pt} m{300pt}
  .. cssclass:: toctableopencv

  ===================== ==============================================
   |FeatureHomo|        **Title:** :ref:`feature_homography`
  
                        *Compatibility:* > OpenCV 2.0
                        
                        *Author:* |Author_AnaH|
                        
                        In this tutorial, you will use *features2d* and *calib3d* to detect an object in a scene.
  
  ===================== ==============================================
  
  .. |FeatureHomo| image:: images/Feature_Homography_Tutorial_Cover.jpg
                   :height: 90pt
                   :width:  90pt


+ 
  .. tabularcolumns:: m{100pt} m{300pt}
  .. cssclass:: toctableopencv

  ===================== ==============================================
   |DetectPlanar|       **Title:** :ref:`detectionOfPlanarObjects`

                        *Compatibility:* > OpenCV 2.0

                        *Author:* |Author_VictorE|

                        You will use *features2d* and *calib3d* modules for detecting known planar objects in scenes. 

  ===================== ==============================================

  .. |DetectPlanar| image:: images/detection_of_planar_objects.png
                     :height: 90pt
                     :width:  90pt

.. raw:: latex

   \pagebreak

.. toctree::
   :hidden:

   ../feature_description/feature_description
   ../trackingmotion/harris_detector/harris_detector
   ../feature_flann_matcher/feature_flann_matcher
   ../feature_homography/feature_homography
   ../trackingmotion/good_features_to_track/good_features_to_track.rst
   ../trackingmotion/generic_corner_detector/generic_corner_detector
   ../trackingmotion/corner_subpixeles/corner_subpixeles
   ../feature_detection/feature_detection
   ../feature_flann_matcher/feature_flann_matcher
   ../feature_homography/feature_homography
   ../detection_of_planar_objects/detection_of_planar_objects

