在Ubuntu KyLin 16.04上使用opencv3.1.0运行自己的程序

需要知识:

  • Linux系统shell命令基础
  • 编译原理基础知识,预编译->编译->汇编->链接
  • make 、cmake知识
  • IDE使用经验
  • gcc,g++编译器知识

1. 命令行形式

  直接编写C 或者C++ 程序,然后分别用gcc,g++编译器生成可执行程序。

 1) C++程序版:

复制代码
#include 
#include 
using namespace cv;
int main(int argc, char** argv )
{
    if ( argc != 2 )
    {
        printf("usage: DisplayImage.out \n");
        return -1;
    }
    Mat image;
    image = imread( argv[1], 1 );
    if ( !image.data )
    {
        printf("No image data \n");
        return -1;
    }
    namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);
    waitKey(0);
    return 0;
}
复制代码

  编译过程:  

  $ g++ first.cpp -o first `pkg-config opencv --cflags --libs`     // 包含、链接参数一定要放在后面

2. CMake运行形式

  cmake 是先将程序所需的依赖、原料组织起来,产生Makefile,然后在又经过make来编译生成可执行程序。最重要的就是编写CMakeList.txt文件。以上文C++程序为例,CMakeList.txt为:

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

  然后,CMake,再make: 

  $ cmake . 
  $ make
  $ ./first first.jpg

1与2的运行结果如下:

在Ubuntu KyLin 16.04上使用opencv3.1.0运行自己的程序_第1张图片

3. IDE开发工具

  在IDE工具(如VS,Eclipse)中利用opencv库,和以上两种方法考虑的地方一样,都是要配置好include 和 lib 部分。


你可能感兴趣的:(学习OpenCV)