diff --git a/doc/tutorials/introduction/linux_eclipse/linux_eclipse.rst b/doc/tutorials/introduction/linux_eclipse/linux_eclipse.rst index 7fd07eaba6880b8cde382b154dae40509d9fac14..cf9e68f4acfedd2ef6d8bed4113a44af22336b47 100644 --- a/doc/tutorials/introduction/linux_eclipse/linux_eclipse.rst +++ b/doc/tutorials/introduction/linux_eclipse/linux_eclipse.rst @@ -1,278 +1,237 @@ -.. _Linux_Eclipse_Usage: - -Using OpenCV with Eclipse (plugin CDT) -**************************************** - -.. note:: - For me at least, this works, is simple and quick. Suggestions are welcome - -Prerequisites -=============== - -1. Having installed `Eclipse `_ in your workstation (only the CDT plugin for C/C++ is needed). You can follow the following steps: - - * Go to the Eclipse site - - * Download `Eclipse IDE for C/C++ Developers `_ . Choose the link according to your workstation. - -#. Having installed OpenCV. If not yet, go :ref:`here `. - -Making a project -================= - -1. Start Eclipse. Just run the executable that comes in the folder. - -#. Go to **File -> New -> C/C++ Project** - - .. image:: images/a0.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 0 - :align: center - -#. Choose a name for your project (i.e. DisplayImage). An **Empty Project** should be okay for this example. - - .. image:: images/a1.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 1 - :align: center - -#. Leave everything else by default. Press **Finish**. - - .. image:: images/a2.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 2 - :align: center - -#. Your project (in this case DisplayImage) should appear in the **Project Navigator** (usually at the left side of your window). - - .. image:: images/a3.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 3 - :align: center - - -#. Now, let's add a source file using OpenCV: - - * Right click on **DisplayImage** (in the Navigator). **New -> Folder** . - - .. image:: images/a4.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 4 - :align: center - - * Name your folder **src** and then hit **Finish** - - .. image:: images/a5.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 5 - :align: center - - * Right click on your newly created **src** folder. Choose **New source file**: - - .. image:: images/a6.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 6 - :align: center - - * Call it **DisplayImage.cpp**. Hit **Finish** - - .. image:: images/a7.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 7 - :align: center - -#. So, now you have a project with a empty .cpp file. Let's fill it with some sample code (in other words, copy and paste the snippet below): - - .. code-block:: cpp - - #include - #include - - using namespace cv; - - int main( int argc, char** argv ) - { - Mat image; - image = imread( argv[1], 1 ); - - if( argc != 2 || !image.data ) - { - printf( "No image data \n" ); - return -1; - } - - namedWindow( "Display Image", CV_WINDOW_AUTOSIZE ); - imshow( "Display Image", image ); - - waitKey(0); - - return 0; - } - -#. We are only missing one final step: To tell OpenCV where the OpenCV headers and libraries are. For this, do the following: - - * - Go to **Project-->Properties** - - .. image:: images/a8.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 8 - :align: center - - * - In **C/C++ Build**, click on **Settings**. At the right, choose the **Tool Settings** Tab. Here we will enter the headers and libraries info: - - a. - In **GCC C++ Compiler**, go to **Includes**. In **Include paths(-l)** you should include the path of the folder where opencv was installed. In our example, this is ``/usr/local/include/opencv``. - - .. image:: images/a9.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 9 - :align: center - - .. note:: - If you do not know where your opencv files are, open the **Terminal** and type: - - .. code-block:: bash - - pkg-config --cflags opencv - - For instance, that command gave me this output: - - .. code-block:: bash - - -I/usr/local/include/opencv -I/usr/local/include - - - b. - Now go to **GCC C++ Linker**,there you have to fill two spaces: - - First in **Library search path (-L)** you have to write the path to where the opencv libraries reside, in my case the path is: - - :: - - /usr/local/lib - - Then in **Libraries(-l)** add the OpenCV libraries that you may need. Usually just the 3 first on the list below are enough (for simple applications) . In my case, I am putting all of them since I plan to use the whole bunch: - - * In **Libraries(-l)** add the OpenCV libraries that you may need. Usually just the 3 first on the list below are enough (for simple applications) . In my case, I am putting all of them since I plan to use the whole bunch: - - opencv_core - opencv_imgproc - opencv_highgui - opencv_ml - opencv_video - opencv_features2d - opencv_calib3d - opencv_objdetect - opencv_contrib - opencv_legacy - opencv_flann - - - * opencv_core - * opencv_imgproc - * opencv_highgui - * opencv_ml - * opencv_video - * opencv_features2d - * opencv_calib3d - * opencv_objdetect - * opencv_contrib - * opencv_legacy - * opencv_flann - - .. image:: images/Eclipse_Tutorial_Screenshot-10.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 10 - :align: center - .. image:: images/a10.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 10 - :align: center - - .. note:: - If you don't know where your libraries are (or you are just psychotic and want to make sure the path is fine), type in **Terminal**: - - If you don't know where your libraries are (or you are just psychotic and want to make sure the path is fine), type in **Terminal**: - .. code-block:: bash - - .. code-block:: bash - - pkg-config --libs opencv - pkg-config --libs opencv - - My output (in case you want to check) was: - My output (in case you want to check) was: - - .. code-block:: bash - .. code-block:: bash - - -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann - -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann - - Now you are done. Click **OK** - - - * Your project should be ready to be built. For this, go to **Project->Build all** - - .. image:: images/Eclipse_Tutorial_Screenshot-11.png - - .. image:: images/a11.png - :height: 400px - :alt: Eclipse Tutorial Screenshot 11 - :align: center - - In the Console you should get something like - - .. image:: images/Eclipse_Tutorial_Screenshot-12.png - .. image:: images/a12.png - :height: 200px - :alt: Eclipse Tutorial Screenshot 12 - :align: center - - If you check in your folder, there should be an executable there. - -Running the executable -======================== - -So, now we have an executable ready to run. If we were to use the Terminal, we would probably do something like: - -.. code-block:: bash - - cd - cd src - ./DisplayImage ../images/HappyLittleFish.jpg - - -Assuming that the image to use as the argument would be located in /images/HappyLittleFish.jpg. We can still do this, but let's do it from Eclipse: - - -#. Go to **Run->Run Configurations** - - .. image:: images/Eclipse_Tutorial_Screenshot-13.png - .. image:: images/a13.png - :height: 300px - :alt: Eclipse Tutorial Screenshot 13 - :align: center - -#. Under C/C++ Application you will see the name of your executable + Debug (if not, click over C/C++ Application a couple of times). Select the name (in this case **DisplayImage Debug**). - -#. Now, in the right side of the window, choose the **Arguments** Tab. Write the path of the image file we want to open (path relative to the workspace/DisplayImage folder). Let's use **HappyLittleFish.jpg**: - - .. image:: images/Eclipse_Tutorial_Screenshot-14.png - .. image:: images/a14.png - :height: 300px - :alt: Eclipse Tutorial Screenshot 14 - :align: center - -#. Click on the **Apply** button and then in Run. An OpenCV window should pop up with the fish image (or whatever you used). - - .. image:: images/Eclipse_Tutorial_Screenshot-15.png - .. image:: images/a15.png - :alt: Eclipse Tutorial Screenshot 15 - :align: center - - -#. Congratulations! You are ready to have fun with OpenCV using Eclipse. -#. Congratulations! You are ready to have fun with OpenCV using Eclipse. +.. _Linux_Eclipse_Usage: + +Using OpenCV with Eclipse (plugin CDT) +**************************************** + +.. note:: + For me at least, this works, is simple and quick. Suggestions are welcome + +Prerequisites +=============== + +1. Having installed `Eclipse `_ in your workstation (only the CDT plugin for C/C++ is needed). You can follow the following steps: + + * Go to the Eclipse site + + * Download `Eclipse IDE for C/C++ Developers `_ . Choose the link according to your workstation. + +#. Having installed OpenCV. If not yet, go :ref:`here `. + +Making a project +================= + +1. Start Eclipse. Just run the executable that comes in the folder. + +#. Go to **File -> New -> C/C++ Project** + + .. image:: images/a0.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 0 + :align: center + +#. Choose a name for your project (i.e. DisplayImage). An **Empty Project** should be okay for this example. + + .. image:: images/a1.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 1 + :align: center + +#. Leave everything else by default. Press **Finish**. + + .. image:: images/a2.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 2 + :align: center + +#. Your project (in this case DisplayImage) should appear in the **Project Navigator** (usually at the left side of your window). + + .. image:: images/a3.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 3 + :align: center + + +#. Now, let's add a source file using OpenCV: + + * Right click on **DisplayImage** (in the Navigator). **New -> Folder** . + + .. image:: images/a4.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 4 + :align: center + + * Name your folder **src** and then hit **Finish** + + .. image:: images/a5.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 5 + :align: center + + * Right click on your newly created **src** folder. Choose **New source file**: + + .. image:: images/a6.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 6 + :align: center + + * Call it **DisplayImage.cpp**. Hit **Finish** + + .. image:: images/a7.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 7 + :align: center + +#. So, now you have a project with a empty .cpp file. Let's fill it with some sample code (in other words, copy and paste the snippet below): + + .. code-block:: cpp + + #include + #include + + using namespace cv; + + int main( int argc, char** argv ) + { + Mat image; + image = imread( argv[1], 1 ); + + if( argc != 2 || !image.data ) + { + printf( "No image data \n" ); + return -1; + } + + namedWindow( "Display Image", CV_WINDOW_AUTOSIZE ); + imshow( "Display Image", image ); + + waitKey(0); + + return 0; + } + +#. We are only missing one final step: To tell OpenCV where the OpenCV headers and libraries are. For this, do the following: + + * Go to **Project-->Properties** + + .. image:: images/a8.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 8 + :align: center + + * In **C/C++ Build**, click on **Settings**. At the right, choose the **Tool Settings** Tab. Here we will enter the headers and libraries info: + + a. In **GCC C++ Compiler**, go to **Includes**. In **Include paths(-l)** you should include the path of the folder where opencv was installed. In our example, this is ``/usr/local/include/opencv``. + + .. image:: images/a9.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 9 + :align: center + + .. note:: + If you do not know where your opencv files are, open the **Terminal** and type: + + .. code-block:: bash + + pkg-config --cflags opencv + + For instance, that command gave me this output: + + .. code-block:: bash + + -I/usr/local/include/opencv -I/usr/local/include + + + b. Now go to **GCC C++ Linker**,there you have to fill two spaces: + + First in **Library search path (-L)** you have to write the path to where the opencv libraries reside, in my case the path is: + :: + + /usr/local/lib + + Then in **Libraries(-l)** add the OpenCV libraries that you may need. Usually just the 3 first on the list below are enough (for simple applications) . In my case, I am putting all of them since I plan to use the whole bunch: + + + opencv_core + opencv_imgproc + opencv_highgui + opencv_ml + opencv_video + opencv_features2d + opencv_calib3d + opencv_objdetect + opencv_contrib + opencv_legacy + opencv_flann + + .. image:: images/a10.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 10 + :align: center + + If you don't know where your libraries are (or you are just psychotic and want to make sure the path is fine), type in **Terminal**: + + .. code-block:: bash + + pkg-config --libs opencv + + + My output (in case you want to check) was: + .. code-block:: bash + -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann + + Now you are done. Click **OK** + + * Your project should be ready to be built. For this, go to **Project->Build all** + + .. image:: images/a11.png + :height: 400px + :alt: Eclipse Tutorial Screenshot 11 + :align: center + + In the Console you should get something like + + .. image:: images/a12.png + :height: 200px + :alt: Eclipse Tutorial Screenshot 12 + :align: center + + If you check in your folder, there should be an executable there. + +Running the executable +======================== + +So, now we have an executable ready to run. If we were to use the Terminal, we would probably do something like: + +.. code-block:: bash + + cd + cd src + ./DisplayImage ../images/HappyLittleFish.jpg + +Assuming that the image to use as the argument would be located in /images/HappyLittleFish.jpg. We can still do this, but let's do it from Eclipse: + + +#. Go to **Run->Run Configurations** + + .. image:: images/a13.png + :height: 300px + :alt: Eclipse Tutorial Screenshot 13 + :align: center + +#. Under C/C++ Application you will see the name of your executable + Debug (if not, click over C/C++ Application a couple of times). Select the name (in this case **DisplayImage Debug**). + +#. Now, in the right side of the window, choose the **Arguments** Tab. Write the path of the image file we want to open (path relative to the workspace/DisplayImage folder). Let's use **HappyLittleFish.jpg**: + + .. image:: images/a14.png + :height: 300px + :alt: Eclipse Tutorial Screenshot 14 + :align: center + +#. Click on the **Apply** button and then in Run. An OpenCV window should pop up with the fish image (or whatever you used). + + .. image:: images/a15.png + :alt: Eclipse Tutorial Screenshot 15 + :align: center + + +#. Congratulations! You are ready to have fun with OpenCV using Eclipse. \ No newline at end of file