################
OpenCV Tutorials
################

The following links describe a set of basic OpenCV  tutorials. All the source code mentioned here is provide as part of the OpenCV regular releases, so check before you start copy & pasting the code. The list of tutorials below is automatically generated from reST files located in our GIT repository.

As always, we would be happy to hear your comments and receive your contributions on any tutorial.

*  :ref:`Table-Of-Content-Introduction`

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

   =========== =======================================================
   |Introduct| You will learn how to setup OpenCV on your computer!

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

   .. |Introduct| image:: images/introduction.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: Introduction Icon

*  :ref:`Table-Of-Content-Core`

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

   =========== =======================================================
   |Core|      Here you will learn the about the basic building blocks of the library. A must read and know for     understanding how to manipulate the images on a pixel level.

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

   .. |Core| image:: images/core.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: core Icon

*  :ref:`Table-Of-Content-ImgProc`

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

   =========== =======================================================
   |ImgProc|   In this section you will learn about the image processing (manipulation) functions inside OpenCV.

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

   .. |ImgProc| image:: images/imgproc.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: imgproc Icon

*  :ref:`Table-Of-Content-HighGui`

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

   =========== =======================================================
   |HighGui|   This section contains valuable tutorials about how to read/save your image/video files and how to use the built-in graphical user interface of the library.

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

   .. |HighGui| image:: images/highgui.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: highgui Icon

*  :ref:`Table-Of-Content-Calib3D`

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

   =========== =======================================================
   |Calib3D|   Although we got most of our images in a 2D format they do come from a 3D world. Here you will learn how to find out from the 2D images information about the 3D world.

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

   .. |Calib3D| image:: images/calib3d.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: calib3d Icon

*  :ref:`Table-Of-Content-Feature2D`

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

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

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

   .. |Featur2D| image:: images/feature2D.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: feature2D Icon

*  :ref:`Table-Of-Content-Video`

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

   =========== =======================================================
   |Video|     Look here in order to find use on your video stream algoritms like: motion extraction, feature tracking and foreground extractions.

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

   .. |Video| image:: images/video.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: video Icon

*  :ref:`Table-Of-Content-ObjDetect`

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

   =========== =======================================================
   |ObjDetect| Ever wondered how your digital camera detects peoples and faces? Look here to find out!

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

   .. |ObjDetect| image:: images/objdetect.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: objdetect Icon

*  :ref:`Table-Of-Content-Ml`

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

   =========== =======================================================
   |ml|        Use the powerfull machine learning classes for statistical classification, regression and clustering of data.

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

   .. |ml| image:: images/ml.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: ml Icon

*  :ref:`Table-Of-Content-GPU`

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

   =========== =======================================================
   |GPU|       Squeeze out every little computation power from your system by using the power of your video card to run the OpenCV algorithms.

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

   .. |GPU| image:: images/gpu.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: gpu icon

*  :ref:`Table-Of-Content-Contrib`

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

   =========== =======================================================
   |Contrib|       Discover additional contribution to OpenCV.

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

   .. |Contrib| image:: images/retina.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: gpu icon

*  :ref:`Table-Of-Content-iOS`

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

   =========== =======================================================
      |iOS|     Run OpenCV and your vision apps on an iDevice

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

      .. |iOS| image:: images/opencv_ios.png
                    :height: 80pt
                    :width:  80pt
                    :alt: gpu icon

*  :ref:`Table-Of-Content-General`

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

   =========== =======================================================
   |General|   These tutorials are the bottom of the iceberg as they link together multiple of the modules presented above in order to solve complex problems.

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

   .. |General| image:: images/general.jpg
                 :height: 80pt
                 :width:  80pt
                 :alt: General Icon

.. raw:: latex

   \pagebreak

.. toctree::
   :maxdepth: 2
   :hidden:

   introduction/table_of_content_introduction/table_of_content_introduction
   core/table_of_content_core/table_of_content_core
   imgproc/table_of_content_imgproc/table_of_content_imgproc
   highgui/table_of_content_highgui/table_of_content_highgui
   calib3d/table_of_content_calib3d/table_of_content_calib3d
   features2d/table_of_content_features2d/table_of_content_features2d
   video/table_of_content_video/table_of_content_video
   objdetect/table_of_content_objdetect/table_of_content_objdetect
   ml/table_of_content_ml/table_of_content_ml
   gpu/table_of_content_gpu/table_of_content_gpu
   contrib/table_of_content_contrib/table_of_content_contrib
   ios/table_of_content_ios/table_of_content_ios
   general/table_of_content_general/table_of_content_general
