zoukankan      html  css  js  c++  java
  • 1、准备阶段

    一、开发环境的准备

    1、编程环境为ubuntu 14.04 64bit;

    2、Opencv的安装

    1)使用从源代码安装的模式, 安装的版本号为opencv-2.4.12,其下载地址为http://opencv.org/downloads.html

    2)安装依赖项,如下

    sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev

    3)解压下载的OpenCV目录,然后进行编译和安装

    mkdir build
    cd build
    cmake ..
    make
    sudo make install

    安装后的头文件位置位于

    安装后的库文件位于

    备注:Linux下的c++编译工具抽象程度的递增,g++,makefile,cmake。

    3、PCL(Point cloud library)的安装

    由于深度相机采集的数据就是点云数据,PCL的官网地址为http://pointclouds.org;

    针对14.04及以下的版本安装方式,需要私有源来安装(注意不同网络可能导致安装不同)

    1 sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
    2 sudo apt-get update
    3 sudo apt-get install libpcl-all

    由于在16.04当中,PCL库已经在公有源当中,采用直接安装

    sudo apt-get install libpcl-dev pcl-tools

    注意,在16.04当中PCL的配置似乎有bug,需要在cmakelist中添加一条指令修复。

    头文件位于

    库文件暂未找到??

    二、编写一个测试程序

     首先,构建一个CMake项目,在Linux下的CMake项目通常由几个文件夹组成,如下

    假设根文件夹是RGB-D_SLAM,

    里面的子文件夹目录

    bin目录:存放生成的二进制可执行程序;

    src目录:源代码存放目录;

    include目录:头文件存放目录;

    lib目录:存放编译好的库文件目录;

    有了以上目录,那么通过CMakeLists.txt文件把目录结构告诉cmake工程,因为cmake在生成代码时,会去读取这个文件,并按照它里面的格式来编译你的代码,所有要

    touch CMakeLists.txt

    并写入如下内容:

    CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) #设定版本
    PROJECT( slam ) #设定工程名

    SET(CMAKE_CXX_COMPILER "g++") #设定编译器
    #设定可执行二进制文件的目录
    SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

    #设定存放编译出来的库文件的目录
    SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

    #把库文件目录作为连接目录
    LINK_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib) 
    #设定头文件目录
    INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/include )

    #增加子文件夹,也就是进入源代码文件夹继续构建
    ADD_SUBDIRECTORY( ${PROJECT_SOURCE_DIR}/src )

    备注:可以学习CMake实践电子书

    注意库文件和二进制的区别和联系:二进制就是可以直接运行的程序啦,库文件呢,就是为这些二进制提供函数的啦。有main函数的代码可以编译成二进制,其他的则编译成库文件。链接时,把库文件链到二进制上,就可以运行。

    下面实例联系:

    在src目录下新建一个文件main.cpp

    下面要把这个源代码生成一个二进制文件,则在src目录下新建一个文件CMakeLists.txt

    然后,回到根目录下,执行如下操作

    1 mkdir build
    2 cd build
    3 cmake ..
    4 make

    编译通过就会在bin目录下生成一个二进制文件。

    这一课的主要目的就是为了熟悉Linux下CMake项目的建立,以及OpenCV和PCL环境的建立。

    总结:

    CMakeLists.txt文件,把可执行文件的生成放在src目录下

    主函数要调用该库文件,需要新建一个头文件,然后在主函数文件里面通过#include来包含该头文件即可调用自己制作的库文件

  • 相关阅读:
    字符编码常识及问题解析
    leptonica 学习笔记2——pixBackgroundNormSimple
    用GitLab Runner自动部署GitBook并不难
    使用Docker搭建简易的 Java Web 环境
    ionic button笔记
    学习Sass之安装Sass(一)
    Exploring Ionic Lists
    Using the Cordova Camera API
    ionic介绍
    angularjs2 学习笔记(六) Form
  • 原文地址:https://www.cnblogs.com/gary-guo/p/6537328.html
Copyright © 2011-2022 走看看