[操  作  系  统]    Ubuntu 14.04 LTS

[OpenCV版本]      3.0.0-beta

[Eclipse 版 本]    3.8.1

需要知识:

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

一、编译安装opencv3.0

1. 准备环境

  直接编译安装opencv一般是会报错的,有很多依赖工具需要先安装。主要是:cmake, build-essential, pkg-config, python-dev, python-numpy等,视自己情况而定。 

  $ sudo apt-get install build-essential cmake libopencv-dev libgtk2.-dev pkg-config python-dev python-numpy

2. 下载opencv3.0源码

  直接去opencv.org(github) 上下载linux源码包:

  $ wget https://github.com/Itseez/opencv/archive/3.0.0-beta.zip

3. 解压组织、编译、安装

  解压文件,新建一个文件夹用于安放编译结果,然后安装(选择安装在/usr/local下面)

  $ unzip opencv-3.0.-beta.zip
  $ cd opencv-3.0.-beta
  $ mkdir release
  $ cd release
  $ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON
      -D WITH_QT=ON -D WITH_OPENGL=ON .. //注意CMakeList.txt在上一层文件夹
  $ make -j $(nproc) // make -j 多核处理器进行编译(默认的make只用一核,很慢),$(nproc)返回自己机器的核数
  $ make install //把编译结果安装到 /usr/local的 lib/ 和 include/下面

4. 环境配置

  可编辑文本配置部分:/etc/ld.so.conf.d/ 添加 opencv.conf 文件,记录库安装位置;更新配置

  $ cd /etc/ld.so.conf.d
  $ sudo vi opencv.config
  // insert "/usr/local/lib" :q
  $ sudo ldconfig

  有的地方说,需要配置/etc/bash.bashrc 中PKG_CONFIG_PATH 环境变量,貌似不需要。

  (貌似,上面的opencv.conf都不用配置。只要 make install 就会在/usr/local/lib/pkgconfig下面产生opencv.pr的包含、链接配置)。

  检查包含、链接配置是否正确:

  $ pkg-config opencv --cflags --libs
  $ -I/usr/local/include/opencv -I/usr/local/include /usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so     /usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgcodecs.so /usr/local/lib/libopencv_imgproc.so /usr/local/l    ib/libopencv_ml.so /usr/local/lib/libopencv_objdetect.so /usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_shape.so /usr/local/lib/libopencv_stitch    ing.so /usr/local/lib/libopencv_superres.so /usr/local/lib/libopencv_ts.a /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_videoio.so /usr/local/l    ib/libopencv_videostab.so

二、使用opencv库

1. 命令行形式

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

  1) C程序版:

  #include <highgui.h>

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

  编译过程:

  $ 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[], );
   if( argc != || !image.data )
   {
   printf( "No image data \n" );
   return -;
   }
   namedWindow( "Display Image", WINDOW_AUTOSIZE );
   imshow( "Display Image", image );
   waitKey();
   return ;
  }

  编译过程:  

  $ 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

3. IDE开发工具

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

  具体Ubuntu下用Eclipse的方法,下面继续。

三、eclipse下C++开发环境

1. 安装eclipse

  Ubuntu下安装很简单,直接在software center里就有。或者直接命令行apt-get install

2. 配置C++开发环境

  打开eclipse,在help 菜单下选择 Install new software。打开的install对话框中,work with下拉菜单选择Indigo Update Site - http://download.eclipse.org/releases/indigo/源。网络刷新后:

  1) Collaboration中选择Mylyn Context Connector:C\C++ Development组件,然后安装,重启eclipse;

  2) 继续回到install对话框,在Programming Language中选择C\C++相关的组件,如Development Tools,Development Tools SDK,CDT Visual C++ Support等。

  安装好以上组件之后,就可以在eclipse里面新建C++工程。

3. opencv实践

  1) 新建一个空的C++工程,然后添加source folder,source file;将上文的C++读图代码拷贝进去。这时肯定会提示有很多问题,编译肯定出错。

  2) 接下来就是配置好包含文件和链接库。右击project explorer里面的工程,打开properties,点开C\C++ Build选项,再点击设置Setting。

    a) 设置包含include。在GCC C++ Compiler下面的includes里面添加include path:/usr/local/include,/usr/local/include/opencv,/usr/local/include/opencv(视自己的代码选择include,保险的话,三个都设置上)。

    b) 设置链接库。 在GCC C++ Linker下面的Libraries里面,先添加search path为:/usr/local/lib;然后逐个在Libraries中添加opencv_core, opencv_highgui, opencv_imgproc, opencv_imgcodes(貌似是新多出来的一个,不加要报错)。

  3) 配置完毕,project --> Build All。另外说明,如果用IDE里面的属性来添加程序参数,文件路径名最好用绝对路径(其当前路径应该为你的项目一级目录,跟据这个设相对路径亦可)。

Reference:

  [1] Rodrigo Berriel's website: http://rodrigoberriel.com/2014/10/installing-opencv-3-0-0-on-ubuntu-14-04/

  [2] Using OpenCV with Eclipse: http://docs.opencv.org/doc/tutorials/introduction/linux_eclipse/linux_eclipse.html

ubuntu14.04下配置使用openCV3.0的更多相关文章

  1. 二、Ubuntu14.04下安装Hadoop2.4.0 (伪分布模式)

    在Ubuntu14.04下安装Hadoop2.4.0 (单机模式)基础上配置 一.配置core-site.xml /usr/local/hadoop/etc/hadoop/core-site.xml ...

  2. Ubuntu14.04 安装配置Hadoop2.6.0

    目前关于Hadoop的安装配置教程书上.官方教程.博客都有很多,但由于对Linux环境的不熟悉以及各种教程或多或少有这样那样的坑,很容易导致折腾许久都安装不成功(本人就是受害人之一).经过几天不断尝试 ...

  3. Ubuntu14.04下配置固定IP

    实验室需要构建静态网站作为个人知识管理工具,每个人要求都有属于自己的静态网站进行知识积累和交流.但是实验室的路由有时候会关闭,重启后给每台机器重新分配ip,因此为了方便访问每台主机,需要设置静态ip. ...

  4. 一、Ubuntu14.04下安装Hadoop2.4.0 (单机模式)

    一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创 ...

  5. ubuntu14.04下配置Java环境以及安装最新版本的eclipse

    首先是配置JDK 步骤一:下载最新版本的JDK,链接:http://www.oracle.com/technetwork/java/javase/downloads/index.html 步骤二:首先 ...

  6. Ubuntu14.04下安装redis-3.2.0以及开机自启动

    去官网下载Redis-3.2.0.tar.gz,将redis-3.2.0.tar.gz放入/opt目录下 解压redis-3.2.0.tar.gz xiaoyao@xiaoyao-virtual-ma ...

  7. Ubuntu14.04下安装Hadoop2.4.0 (单机模式)

    一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创 ...

  8. 在Ubuntu14.04下配置Samba 完成linux和windows之间的文件共享

    在Windows和Linux之间传递文件可以使用Samba服务.下面是安装步骤: 1. 安装Samba. sudo apt-get install samba 2. 修改配置文件 sudo gedit ...

  9. ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录

    已有条件: ubuntu14.04+cuda7.5+anaconda2(即python2.7)+matlabR2014a 上述已经装好了,开始搭建caffe环境. 1. 装cudnn5.1.3,参照: ...

随机推荐

  1. 在 Xcode 6 中使用矢量图( iPhone 6 置配 UI)

    在 Xcode 6 中使用矢量图( iPhone 6 置配 UI) (本文转载:http://iosdeveloper.diandian.com/post/2014-09-25/40063062789 ...

  2. AngularJS从构建项目开始

    AngularJS从构建项目开始 AngularJS体验式编程系列文章,将介绍如何用angularjs构建一个强大的web前端系统.angularjs是由Google团队开发的一款非常优秀web前端框 ...

  3. source insight 相对路径

    source insight项目 在移动到另外一个地方时,会因为之前是绝对路径而导致,项目中的文件都不可用,需要重新把这些文件添加一遍. 这是个令人讨厌的事情. 解决办法为创建项目时设定为绝对路径.方 ...

  4. WOJ-1203

    Description 有一组数,很多很多个数,里面有一个数出现了超过一半次,请你把它找出来 Input 先是一个N (N<=1000000),然后接下来一行N个数,请一直处理到EOF. Out ...

  5. Bowtie2

    如何使用Bowtie2 相似功能的有: 创建索引 创建索引bowtie2-build使用的命令. -f指定要索引文件后,再给予索引的名称.名称可以连接到任何. bowtie2 build-f refe ...

  6. LintCode Count 1 in Binary

    知识点 1. 整数的二进制表示法 2. 十进制和二进制的转换 http://baike.baidu.com/view/1426817.htm 3. 负整数的表示(原码,补码,反码) http://ww ...

  7. oc实例变量初始化方法

    1 使用实例setter方法 默认初始化方法 + setName:xxx setAge:xxx 2 使用实例功能类方法,默认初始化方法 + setName:xxx age:xxx3 使用实例初始化方法 ...

  8. Druid使用ConfigFilter

    1. 加密,用以下命令将用户名和密码加密 cmd命令行执行 java -cp D:/druid-1.0.13.jar com.alibaba.druid.filter.config.ConfigToo ...

  9. [原创]cocos2d-x研习录-第二阶 概念类之节点类(CCNode)

    节点类CCNode在基本概念中并不存在,它是为了建立基本概念之间的关联关系而抽象出来的中间辅助类.这个类在Cocos2D-x中极为重要,它为概念类之间搭建了一座宏伟的桥梁.它的继承关系图如下:     ...

  10. 切换到android studio环境

    下载: android-studio-bundle-135.1740770-windows.exe sysimg_arm-21_r03.zip 设置环境变量: ANDROID_SDK_HOME     ...