Fork me on GitHub

Ubuntu+OpenCV2.4.11+ CodeBlocks 配置

1.OpenCV 与 CodeBlocks 的安装都比较简单,好多教程。

 

    参考http://www.cnblogs.com/lyutian/p/4425956.html 安装opencv。

    Codeblocks安装参考http://blog.csdn.net/xinyunyishui/article/details/50967395

使用opencv库

1. 命令行形式

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

  1) C程序版: 

复制代码
  #include <highgui.h>

  int main(int argc, char **argv)
  {
          IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_COLOR);
          cvNamedWindow("Image_show",CV_WINDOW_AUTOSIZE);
          cvShowImage("Image_show",img);
          cvWaitKey(0);
          cvReleaseImage(&img);
          cvDestroyWindow("Image_show");
          return 0;
  }
复制代码

  编译过程:

  $ gcc test.c -o test `pkg-config opencv --cflags --libs`

  2) C++程序版:

复制代码
  #include <opencv2/opencv.hpp>
  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", 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 )
  add_executable( first frist.cpp )
  target_link_libraries( first  ${OpenCV_LIBS} )

  然后,CMake,再make: 

  $ cmake . 
  $ make
  $ ./first

 

 

如下是 codeblocks下opencv开发的配置。

1.查看相关文件的路径

打开终端,输入: ~$ pkg-config --cflags opencv   //查看 opencv 头文件(.h) 位置

我的输出: -I/usr/local/include/opencv -I/usr/local/include

输入: ~$ pkg-config --libs opencv  //查看opencv 库文件位置

输出:

 

2.打开cd:block新建一个空项目,右击项目名进入Build options.修改debug下的内容.

(1) Search directories-->Compiler  点击add按钮添加上面的opencv头文件路径(如下图):

(2)Linker settings下面添加opencv的lib文件,通过add按钮键添加进来.注意:大多数情况下你之要添加进来libopencv_core.so和libopencv_highgui.so两个文件,这里我原先也是这样,结果编译之后出现下面的错误:/usr/bin/ld: obj/Debug/main.o||undefined reference to symbol '_ZN2cv6imreadERKNS_6StringEi'|

原因是没有添加libopencv_imgcodecs.so,原因就别管啦.当然你也可以把上面 pkg-config --libs opencv  找到的所有opencv的库文件都添加进来.如下图:

一点提醒:一定要严格按照一开始的两个命令指示的路径来add.

ok,下面是一个简单的demo.cpp.

#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main()


{
    Mat img=imread("lena.jpg");
    namedWindow("风景");
    imshow("风景",img);
    waitKey(0);
    return 0;
}

参考:

http://blog.csdn.net/u012559520/article/details/51313932

posted @ 2017-06-21 23:26  hellowOOOrld  阅读(534)  评论(0编辑  收藏  举报