.. _Linux_GCC_Usage: Using OpenCV with gcc and CMake ********************************* .. note:: We assume that you have successfully installed OpenCV in your workstation. .. container:: enumeratevisibleitemswithsquare * The easiest way of using OpenCV in your code is to use `CMake `_. A few advantages (taken from the Wiki): #. No need to change anything when porting between Linux and Windows #. Can easily be combined with other tools by CMake( i.e. Qt, ITK and VTK ) * If you are not familiar with CMake, checkout the `tutorial `_ on its website. Steps ====== Create a program using OpenCV ------------------------------- Let's use a simple program such as DisplayImage.cpp shown 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; } Create a CMake file --------------------- Now you have to create your CMakeLists.txt file. It should look like this: .. code-block:: cmake project( DisplayImage ) find_package( OpenCV REQUIRED ) add_executable( DisplayImage DisplayImage ) target_link_libraries( DisplayImage ${OpenCV_LIBS} ) Generate the executable ------------------------- This part is easy, just proceed as with any other project using CMake: .. code-block:: bash cd cmake . make Result -------- By now you should have an executable (called DisplayImage in this case). You just have to run it giving an image location as an argument, i.e.: .. code-block:: bash ./DisplayImage lena.jpg You should get a nice window as the one shown below: .. image:: images/GCC_CMake_Example_Tutorial.jpg :alt: Display Image - Lena :align: center