zoukankan      html  css  js  c++  java
  • Using OpenCV with gcc and CMake

    Using OpenCV with gcc and CMake

    Note

     

    We assume that you have successfully installed OpenCV in your workstation.

    • The easiest way of using OpenCV in your code is to use CMake. A few advantages (taken from the Wiki):
      1. No need to change anything when porting between Linux and Windows
      2. 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.

    #include <stdio.h>
    #include <opencv2/opencv.hpp>
    
    using namespace cv;
    
    int main(int argc, char** argv )
    {
        if ( argc != 2 )
        {
            printf("usage: DisplayImage.out <Image_Path>
    ");
            return -1;
        }
    
        Mat image;
        image = imread( argv[1], 1 );
    
        if ( !image.data )
        {
            printf("No image data 
    ");
            return -1;
        }
        namedWindow("Display Image", 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:

    cmake_minimum_required(VERSION 2.8)
    project( DisplayImage )
    find_package( OpenCV REQUIRED )
    include_directories( ${OpenCV_INCLUDE_DIRS} )
    add_executable( DisplayImage DisplayImage.cpp )
    target_link_libraries( DisplayImage ${OpenCV_LIBS} )
    

    Generate the executable

    This part is easy, just proceed as with any other project using CMake:

    cd <DisplayImage_directory>
    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.:

    ./DisplayImage lena.jpg
    

    You should get a nice window as the one shown below:

    Display Image - Lena
  • 相关阅读:
    hdu 5446 Unknown Treasure lucas和CRT
    Hdu 5444 Elven Postman dfs
    hdu 5443 The Water Problem 线段树
    hdu 5442 Favorite Donut 后缀数组
    hdu 5441 Travel 离线带权并查集
    hdu 5438 Ponds 拓扑排序
    hdu 5437 Alisha’s Party 优先队列
    HDU 5433 Xiao Ming climbing dp
    hdu 5432 Pyramid Split 二分
    Codeforces Round #319 (Div. 1) B. Invariance of Tree 构造
  • 原文地址:https://www.cnblogs.com/sdlypyzq/p/4825913.html
Copyright © 2011-2022 走看看