.. _Table-Of-Content-Introduction:

Introduction to OpenCV
-----------------------------------------------------------

Here you can read tutorials about how to set up your computer to work with the OpenCV library. Additionaly you can find a few very basic sample source code that will let introduce you to the world of the OpenCV.

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

* **Linux**

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

  =========== ======================================================
  |Install_1| **Title:** :ref:`Linux-Installation`

              *Compatibility:* > OpenCV 2.0

              *Author:* |Author_AnaH|

              We will learn how to setup OpenCV in your computer!

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

  .. |Install_1| image:: images/ubuntu-logo.jpg
                 :height: 90pt
                 :width:  90pt

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

  =========== ======================================================
   |Usage_1|  **Title:** :ref:`Linux_GCC_Usage`

              *Compatibility:* > OpenCV 2.0

              *Author:* |Author_AnaH|

              We will learn how to compile your first project using gcc and CMake

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

  .. |Usage_1| image:: images/gccegg-65.jpg
               :height: 90pt
               :width:  90pt

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

  =========== ======================================================
   |Usage_2|  **Title:** :ref:`Linux_Eclipse_Usage`

              *Compatibility:* > OpenCV 2.0

              *Author:* |Author_AnaH|

              We will learn how to compile your first project using the Eclipse environment

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

     .. |Usage_2| image:: images/eclipse_cpp_logo.jpeg
                    :height: 90pt
                    :width:  90pt

* **Windows**

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

  =========== ======================================================
  |WinInstal| **Title:** :ref:`Windows_Installation`

              *Compatibility:* > OpenCV 2.0

              *Author:* |Author_BernatG|

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

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

  .. |WinInstal| image:: images/windows_logo.jpg
                 :height: 90pt
                 :width:  90pt

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

  =========== ======================================================
  |WinVSHowT| **Title:** :ref:`Windows_Visual_Studio_How_To`

              *Compatibility:* > OpenCV 2.0

              *Author:* |Author_BernatG|

              You will learn what steps you need to perform in order to use the OpenCV library inside a new Microsoft Visual Studio project.

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

     .. |WinVSHowT| image:: images/visual-studio-2010-logo.jpg
                      :height: 90pt
                      :width:  90pt

* **Android**

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

  ================ =================================================
  |AndroidLogo|    **Title:** :ref:`Android_Dev_Intro`

                   *Compatibility:* > OpenCV 2.4.2

                   *Author:* |Author_VsevolodG|

                   Not a tutorial, but a guide introducing Android development basics and environment setup

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

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

  ================ =================================================
  |AndroidLogo|    **Title:** :ref:`O4A_SDK`

                   *Compatibility:* > OpenCV 2.4.2

                   *Author:* |Author_VsevolodG|

                   OpenCV4Android SDK: general info, installation, running samples

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

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

  ================ =================================================
  |AndroidLogo|    **Title:** :ref:`dev_with_OCV_on_Android`

                   *Compatibility:* > OpenCV 2.4.2

                   *Author:* |Author_VsevolodG|

                   Development with OpenCV4Android SDK

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

     .. |AndroidLogo| image:: images/android_logo.png
                        :height: 90pt
                        :width:  90pt


* **iOS**

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

  ============= ======================================================
  |Install_iOS|  **Title:** :ref:`iOS-Installation`

                 *Compatibility:* > OpenCV 2.4.2

                 *Author:* |Author_ArtemM|, |Author_EduardF|

                 We will learn how to setup OpenCV for using it in iOS!

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

     .. |Install_iOS| image:: images/opencv_ios.png
                 :width:  90pt

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

  ============= ======================================================
  |Beginners_1| **Title:** :ref:`Display_Image`

                *Compatibility:* > OpenCV 2.0

                *Author:* |Author_AnaH|

                We will learn how to display an image using OpenCV

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

     .. |Beginners_1| image:: images/Display_Image_Tutorial_Result.jpg
                     :height: 90pt
                     :width:  90pt

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

  =============== ======================================================
   |Beginners_2|  **Title:** :ref:`Load_Save_Image`

                  *Compatibility:* > OpenCV 2.0

                  *Author:* |Author_AnaH|

                  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.jpg
                     :height: 90pt
                     :width:  90pt

* **Want to contribute, and see your own work between the OpenCV tutorials?**

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

  =============== ======================================================
   |HowToWriteT|  **Title:** :ref:`howToWriteTutorial`

                  *Compatibility:* > OpenCV 1.0

                  *Author:* |Author_BernatG|

                  If you already have a good grasp on using OpenCV and have made some projects that would be perfect presenting an OpenCV feature not yet part of these tutorials, here it is what you need to know.

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

  .. |HowToWriteT| image:: images/how_to_write_a_tutorial.png
                   :height: 90pt
                   :width:  90pt

.. raw:: latex

   \pagebreak

.. We use a custom table of content format and as the table of content only imforms Sphinx about the hierarchy of the files, no need to show it.
.. toctree::
   :hidden:

   ../linux_install/linux_install
   ../linux_gcc_cmake/linux_gcc_cmake
   ../linux_eclipse/linux_eclipse
   ../windows_install/windows_install
   ../windows_visual_studio_Opencv/windows_visual_studio_Opencv
   ../android_binary_package/android_dev_intro
   ../android_binary_package/O4A_SDK
   ../android_binary_package/dev_with_OCV_on_Android
   ../ios_install/ios_install
   ../display_image/display_image
   ../load_save_image/load_save_image
   ../how_to_write_a_tutorial/how_to_write_a_tutorial