#################
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 SVN repository.

.. note::
   YouTube videos yet to come...we have to think about them!

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

* **INSTALLATION**

  * :ref:`Linux_Installation`

     =========== ======================================================
     |Install_1| *Title:* **Installation steps in Linux**

	         *Compatibility:* > OpenCV 2.0

	         We will learn how to setup OpenCV in your computer!
    
     =========== ======================================================
    
     .. |Install_1| image:: images/ubuntu_logo.jpeg
                    :height: 120px

  * :ref:`Windows_Installation`
  
     =========== ======================================================
     |Install_2| *Title:* **Installation steps in Windows**

		 *Compatibility:* > OpenCV 2.0

		 You will learn how to setup OpenCV in your Windows Operating System!

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

     .. |Install_2| image:: images/windows_logo.jpg
                    :height: 120px


* **USAGE AND COMPILATION**

  * :ref:`Linux_GCC_Usage`

     =========== ======================================================
      |Usage_1|  *Title:* **Using OpenCV with gcc (and CMake)**

	         *Compatibility:* > OpenCV 2.0

	         We will learn how to compile your first project using gcc and CMake
    
     =========== ======================================================
    
     .. |Usage_1| image:: images/gccegg-65-2.png
                  :height: 120px


  * :ref:`Linux_Eclipse_Usage`

     =========== ======================================================
      |Usage_2|  *Title:* **Using OpenCV with Eclipse (CDT plugin)**

	         *Compatibility:* > OpenCV 2.0

	         We will learn how to compile your first project using the Eclipse environment
    
     =========== ======================================================
    
     .. |Usage_2| image:: images/eclipse_cpp_logo.jpeg
                  :height: 120px

* **BEGINNERS SECTION**

  * :ref:`Display_Image`

     =============== ======================================================
      |Beginners_1|  *Title:* **Display an Image**

	             *Compatibility:* > OpenCV 2.0

	             We will learn how to display an image using OpenCV
    
     =============== ======================================================
    
     .. |Beginners_1| image:: images/Display_Image_Tutorial_Result.png
                      :height: 150px


  * :ref:`Load_Save_Image`

     =============== ======================================================
      |Beginners_2|  *Title:* **Load and save an Image**

	             *Compatibility:* > OpenCV 2.0

	             We will learn how to save an Image in OpenCV...plus a small conversion to grayscale
    
     =============== ======================================================
    
     .. |Beginners_2| image:: images/Load_Save_Image_Result_1.png
                      :height: 150px

  * :ref:`Basic_Linear_Transform`

     =============== ======================================================
      |Beginners_3|  *Title:* **Changing the contrast and brightness of an image**

	             *Compatibility:* > OpenCV 2.0

	             We will learn how to change our image appearance!
    
     =============== ======================================================
    
     .. |Beginners_3| image:: images/Basic_Linear_Transform_Tutorial_Result_0.png
                      :height: 200px


  * :ref:`Adding_Images`

     =============== ======================================================
      |Beginners_4|  *Title:* **Linear Blending**

	             *Compatibility:* > OpenCV 2.0

	             We will learn how to blend two images!
    
     =============== ======================================================
    
     .. |Beginners_4| image:: images/Adding_Images_Tutorial_Result_0.png
                      :height: 200px


  * :ref:`Adding_Trackbars`

     =============== ======================================================
      |Beginners_5|  *Title:* **Creating Trackbars**

	             *Compatibility:* > OpenCV 2.0

	             We will learn how to add a Trackbar to our applications
    
     =============== ======================================================
    
     .. |Beginners_5| image:: images/Adding_Trackbars_Tutorial_Cover.png
                      :height: 200px

  * :ref:`Drawing_1`

     =============== ======================================================
      |Beginners_6|  *Title:* **Basic Drawing**

	             *Compatibility:* > OpenCV 2.0

	             We will learn how to draw simple geometry with OpenCV!
    
     =============== ======================================================
    
     .. |Beginners_6| image:: images/Drawing_1_Tutorial_Result_0.png
                      :height: 200px

  * :ref:`Drawing_2`

     =============== ======================================================
      |Beginners_7|  *Title:* **Cool Drawing**

	             *Compatibility:* > OpenCV 2.0

	             We will draw some *fancy-looking* stuff using OpenCV!
    
     =============== ======================================================
    
     .. |Beginners_7| image:: images/Drawing_2_Tutorial_Result_7.png
                      :height: 200px


* **IMAGE PROCESSING**

  * :ref:`Smoothing`

     ===================== ======================================================
      |ImageProcessing_1|  *Title:* **Smoothing Images**

	                   *Compatibility:* > OpenCV 2.0

                 	   Let's take a look at some basic linear filters!
    
     ===================== ======================================================
    
     .. |ImageProcessing_1| image:: images/Smoothing_Tutorial_Cover.png
                            :height: 200px


  * :ref:`Morphology_1`

     ===================== ======================================================
      |ImageProcessing_2|  *Title:* **Erosion and Dilation**

	                   *Compatibility:* > OpenCV 2.0

                 	   Let's *change* the shape of objects!
    
     ===================== ======================================================
    
     .. |ImageProcessing_2| image:: images/Morphology_1_Tutorial_Cover.png
                            :height: 200px


.. toctree::
   :hidden:

   Linux_Installation.rst
   Windows_Installation.rst
   Linux_GCC_Usage.rst
   Linux_Eclipse_Usage.rst
   Display_Image.rst
   Load_Save_Image.rst
   Basic_Linear_Transform.rst
   Adding_Images.rst
   Adding_Trackbars.rst
   Drawing_1.rst
   Drawing_2.rst
   Smoothing.rst
   Morphology_1.rst
