Ubuntu14.04安装opencv3.3.0
下载opencv3.3.0以及opencv_contrib
解压编译
- 将两个文件夹解压至同一目录下(可创建一个opencv目录)
unzip opencv-3.3.0.zip
unzip opencv_contrib_3.3.0.zip
- 将两个文件夹解压至同一目录下(可创建一个opencv目录)
- 安装依赖库和cmake ,如果提醒需要apt-get update,那就先sudo su进入root权限,再sudo apt-get update,然后在执行下面命令
sudo apt-get install cmake pkg-config sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev4. **进入opencv3.3.0目录下创建一个编译目录并进入该目录执行cmake命令**
mkdir release cd release cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/home/zhangzhd/opencv/build -D OPENCV_EXTRA_MODULES_PATH=/home/zhangzhd/opencv/opencv_contrib-3.3.0/modules .. make make install
注:
- cmake 后跟参数路径尽量使用绝对路径,使用相对路径有可能cmake出错
- CMAKE_INSTALL_PREFIX 为:配置opencv安装路径
- OPENCV_EXTRA_MODULES_PATH 为:配置安装contrib下模块的路径
- cmake可能会报错c++ 11不支持,在CMakeLists.txt添加 set(CMAKE_CXX_FLAGS “-std=c++11”)
配置编译环境
- 编辑修改opencv.conf文件
sudo gedit /etc/ld.so.conf.d/opencv.conf
打开文件后添加库文件路径(安装路径下的lib文件)
/home/zhangzhd/opencv/build/lib
执行如下命令使刚才配置的路径生效
sudo ldconfig
- 配置bash
sudo gedit /etc/bash.bashrc
在末尾添加下列语句(配置pkgconfig路径)
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/zhangzhd/opencv/build/lib/pkgconfig export PKG_CONFIG_PATH
执行命令使配置生效
source /etc/bash.bashrc
至此安装配置基本完成
opencv编译参数
g++ *.cpp `pkg-config --cflags --libs opencv`
注:
- pkg-config 命令两边需用反单引号
在上面的编译命令中我们其实用到了一个工具“pkg-config”,它主要有以下几个功能:
- 检查库的版本号。如果所需要的库的版本不满足要求,它会打印出错误信息,避免链接错误版本的库文件。
- 获得编译预处理参数,如宏定义,头文件的位置。
- 获得链接参数,如库及依赖的其它库的位置,文件名及其它一些连接参数。
- 自动加入所依赖的其它库的设置
有了这个工具之后我们的编译就很方便了(不过在此之前你要确保你安装的OpenCV的安装链接库文件的目录下有一个pkgconfig文件夹,在该文件夹里面有个opencv.pc的文件,其实这就是pkg-config下OpenCV的配置文件)。
使用pkg-config时,选项–cflags 它是用来指定程序在编译时所需要头文件所在的目录,选项 –libs则是指定程序在链接时所需要的动态链接库的目录。