ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置

ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置

1. 数据准备

  • CMake:

    CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
    最新版是3.6.1,下载地址:https://cmake.org/download/;

  • Opencv3.1:

    下载地址:http://opencv.org/downloads.html;该网址提供了Windows和Linux版本的包,Windows版本是一个自解压exe执行文件;linux版本是一个zip包,直接解压即可。因为本人在Windows下已经编译过Opencv,故本文直接使用Windows下解压的包作为源文件;Linux版本的包解压过程类似。

  • Opencv3.1contrib包:

    该包中包含一些比较重要的库,如SHIF特征点检测、MSR等,下载地址 :https://github.com/opencv;下载完成后直接解压即可。


2.CMake编译Opencv

  • 2.1 CMake安装:
    1. 下载
      CMake有两种版本:Source distributionsBinary distributions;
      下载Source distributions版本;
    2. cd 至下载文件存放目录,执行:
      sudo tar -zxvf cmake-3.0.2.tar.gz
    3. 执行
      sudo ./bootstrap
      如果出现如下错误提示,执行sudo apt-get install build-essential
      Error when bootstrapping CMake Cannot find appropriate C++ compiler on this system Please specify one using environment variable CXX
    4. 编译
      sudo make
    5. 安装CMake
      sudo make install
    6. 检查
      cmake --version
      如下图所示时则说明安装成功
      这里写图片描述
    7. 安装CMake-GUI
      sudo apt-get install cmake-qt-gui
    8. 启动GUI
      cmake-gui
      如下图所示
      ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置_第1张图片
  • 2.2 CMake配置

    1. 填写源文件目录和输出目录
      这里写图片描述
    2. 点击Config,在弹出对话框中选择Unix Makefiles
      ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置_第2张图片
    3. 点击2. 中的Finish,等待初次配置完成后点击Configure
      这里写图片描述
    4. 等待配置完成,此处有一下几个参数需要注意:
      OPENCV_EXTRA_MODULES_PATH:该参数应设置为Opencv3.1contrib包位置
      这里写图片描述
      BUILD_SHARED_LIBS:该参数用以设置库类型,勾选状态表示生产动态库;否则表示生成静态库。
      设置完参数后再点击一次Configure
    5. 点击Generate,等待生成完成

    在第3步至第4步的过程中,有可能出现以下错误:
    ICV: Local copy of ICV package has invalid MD5 hash:ICV hash校验值不符,此时可以下载ippicv_linux_20151201.tgz,按错误提示替换对应位置文件即可,替换记得后重新Configure

  • 2.3 编译、链接和安装

    1. cd 至2.2-1的输出目录,目录中文件如下图所示
      ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置_第3张图片
    2. 编译和链接:执行make
      ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置_第4张图片
      该过程比较缓慢
    3. 执行sudo make install
      该命令会安装opencv库至文件夹:/usr/local,在local文件夹中有两个文件夹includelib,分别用来存放头文件和库文件,即为Opencv库编译的结果。

3.Opencv+Code::Blocks开发环境配置

  1. 新建Code::Block工程,工程类型为Console application,并将Opencv库拷贝一份至当前工程目录;
  2. 右击工程,选择Build options菜单;
    ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置_第5张图片
  3. 选择Linker setting选项卡,点击Add添加 Link libraries。该步骤是引入自己需要使用的库文件(相对路径),如果不知道自己需要那些库文件,不妨全部加上;
    ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置_第6张图片
  4. 选择Search directories选项卡的Compiler子选项卡,添加Opencv库头文件目录路径(相对路径);
    ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置_第7张图片
  5. 选择Search directories选项卡的Linker子选项卡,添加3-3中库文件所在的目录(相对路径)
    ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置_第8张图片
    至此,该工程Opencv库配置完毕。

4.测试

在main函数中添加如下代码

#include 
#include "cv.h"
#include "core.hpp"
#include "highgui.hpp"
#include "imgproc.hpp"
using namespace std;
using namespace cv;
int main()
{
    cv::Mat mat=imread("/media/troubadour/软件/100.jpg");
    cvtColor(mat,mat,COLOR_BGR2GRAY);
    imwrite("test.tif",mat);
    imshow("图像",mat);
    waitKey(0);
    cout << "Hello world!" << endl;
    return 0;
}

执行结果为:
ubuntu 16.04LTS 下Code::Blocks + Opencv3.1开发环境配置_第9张图片

你可能感兴趣的:(Linux)