Ubuntu下安装opencv需要以下几步:

1. 首先,在安装opencv之前需要安装一些相关的依赖包或软件,当然,有些软件是ubuntu自带的,再安装一下也无妨,若已经安装,只会检查更新,若已经是最新版则什么也不做,下面进行依赖库的安装:

sudo apt-get install  build-essential cmake pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev  libtiff4-dev  libswscale-dev libjasper-dev

2. 下载opencv源码及编译安装

git clone git://github.com/opencv/opencv.git

然后进入opencv目录,在该目录下会有一个CMakeLists.txt,然后在该目录下打开命令行终端,输入

cmake .

使用cmake来检测编译环境以及生成makefile以及其他project信息,在使用cmake过程可以设置一些参数。

然后执行

make
sudo make install

在第2步的过程中,可以在opencv的目录下另建一个文件夹,用于存放编译的结果,如下操作:

mkdir release  
 cd release  
 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..   //注意CMakeList.txt在上一层文件夹 
 然后进行make编译和install,值得注意的是,这里指定了编译的目录/usr/local,在这个目录下的include和lib文件夹下分别是opencv的头文件和库文件,在配置集成开发环境的时候会用到。

3. 环境配置

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

$ cd /etc/ld.so.conf.d
 $ sudo vi opencv.config
  // insert "/usr/local/lib"    :q
 $ sudo ldconfig    在这之后,要说明两点的就是,PKG_CONFIG_PATH 环境变量的配置,有两种方法:
其一是在/etc/bash.bashrc 中配置PKG_CONFIG_PATH 环境变量:
export  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
$ source bash.bashrc  //使环境变量生效
其二是在 /etc/profile 中添加:
export  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
(貌似,在第3步的环境配置过程并不需要,只要 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

4. 测试

opencv目录下找到 samples/c/build_all.sh,运行该文件

$ ./build_all.sh

此步若编译不成功,则把第3步省略的环境配置过程加上。




以下是关于qtcreator集成开发环境配置opencv并进行测试过程:

1. 首先是qtcreator的安装:

$ sudo apt-get install qtcreator

2. 打开qtcreator,在工具->选项下进行设置,主要是设置Qt的版本,这个会自动检测,貌似Ubuntu本身已安装Qt,如下进行配置,在此过程可能需要安装一下GCC或g++,它们在Ubuntu 16.04LTS版本貌似默认安装的:


Ubuntu opencv 静态链接_ide

此后可以建立工程了:


Ubuntu opencv 静态链接_opencv_02


然后需要配置一个与工程同名的pro文件,如打开untitled03.pro文件,加入如下内容:

NCLUDEPATH += /usr/local/include/opencv \
                /usr/local/include/opencv2 \
                /usr/local/include
 #LIBS += /usr/local/lib/libopencv_video.so  \
 #  /usr/local/lib/libopencv_ts.a \
  # /usr/local/lib/libopencv_objdetect.so \
  # /usr/local/lib/libopencv_ml.so  \
   #/usr/local/lib/libopencv_legacy.so \
   #/usr/local/lib/libopencv_core.so \
   #/usr/local/lib/libopencv_features2d.so  \
   #/usr/local/lib/libopencv_imgproc.so \
   #/usr/local/lib/libopencv_highgui.so \
   #/usr/local/lib/libopencv_gpu.so \
   #/usr/local/lib/libopencv_flann.so   \
   #/usr/local/lib/libopencv_contrib.so \
   #/usr/local/lib/libopencv_calib3d.so

 LIBS += -lopencv_core\
 -lopencv_imgproc\
 -lopencv_highgui\
 -lopencv_ml\
 -lopencv_video\
 -lopencv_features2d\
 -lopencv_calib3d\
 -lopencv_objdetect\
 -lopencv_contrib\
 -lopencv_legacy\
 -lopencv_flann在上述中,LIBS注释部分与非注释部分的效果一样。
opencv测试代码:
#include <stdio.h>
 #include<highgui.h>
 using namespace cv;
 int main( )
 {

   Mat image;
   image = imread("lena.bmp");
   if ( !image.data )
   {
     printf("No image data \n");
     return -1;
   }
   namedWindow("Display Image", WINDOW_AUTOSIZE );
   imshow("Display Image", image);
   waitKey(0);
   return 0;
 }

上述代码在执行的时候,会出现无法显示图片的问题,是图片读入失败的问题,此处也是一个值得注意的地方,需把要读入的图片放入到如下命名规则下的文件夹内:

Ubuntu opencv 静态链接_ide_03

此后运行的时候便能显示图片了,以下是运行结果:


Ubuntu opencv 静态链接_opencv_04


至此,ubuntu下安装opencv及qtcreator集成开发环境配置过程结束。