1、开发环境的准备html
一、编程环境为ubuntu 14.04 64bit;python
二、Opencv的安装c++
1)使用从源代码安装的模式, 安装的版本号为opencv-2.4.12,其下载地址为http://opencv.org/downloads.html编程
2)安装依赖项,以下ubuntu
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。
三、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中添加一条指令修复。
头文件位于
库文件暂未找到??
2、编写一个测试程序
首先,构建一个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来包含该头文件便可调用本身制做的库文件