Ubuntu下安装配置Opencv2.4.9

来源:互联网 发布:linux cgi bin 编辑:程序博客网 时间:2024/06/01 13:20

Ubuntu下配置安装Opencv2.4.9

              每次接触学习到新的东西,都要养成文档记录的习惯,以便日后再需时方便自己,不用再重复做同样的工作。今天我就来记录下我在Ubuntu下安装opencv2.4.9的方法,希望对有需要的朋友们有所帮助。
        我的环境是Ubuntu14.04,Opencv2.4.9,不同版本方法差不多。Opencv的最近的一些版本都是使用cmake来编译的,其配置过程基本上是一样的。

一、依赖包安装
       Ubuntu下安装软件或多或少都需要安装一些依赖包(软件)。opencv也不例外。
       1.  build-essential 软件包,为编译程序提供必需软件包的列表信息,这样软件包才知道头文件、库函数在哪里。还会下载依赖的软件包,安装gcc/g++/gdb/make 等基本编程工具,最后才组成一个开发环境。
        
        安装build-essential 软件包命令:sudo apt-get install build-essential

       2. 下面依赖关系主要是为了能够支持读写图片以及视频等。
     
         安装命令:sudo apt-get install  libgtk2.0-dev libavcodec-dev libavformat-dev  libtiff4-dev  libswscale-dev libjasper-dev  

   3. 安装cmake,可以下载源码编译,也可以直接用apt-get命令安装。
     
         安装命令:sudo apt-get install cmake

       4. 安装pkg-config,它是一个提供从源代码中编译软件时查询已安装的库时使用的统一接口的计算机软件。

         安装命令:sudo apt-get install pkg-config

二、编译安装过程

       1.对opencv-2.4.9.zip进行解压
    
          命令:unzip opencv-2.4.9.zip
                     cd opencv-2.4.9
                     mkdir release
                     cd release
                     cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

        2.使用make编译
          
           命令:make

        3.  使用make install 安装

           命令:sudo make install

        4.  上面的过程基本上完成了opencv的安装。但是并不能够马上用它,opencv还包含很多动态链接库。你可以在文件/etc/ld.so.conf中添加 /usr/local/lib(这个跟安装目录有关, {CMAKE_INSTALL_PREFIX}/lib),也可以在/etc/ld.so.conf.d 目录下增加一个conf文件(可以命名为 opencv.conf),同样添加 /usr/local/lib
                      使用下面的动态库管理命令ldconfig,让opencv的相关链接库被系统共享
               命令:sudo ldconfig

        5.  完成了动态库的共享,还不能使用opencv来编程,还需要为程序指定openvc的头文件位置。这里使用pkg-config命令来完成。首先在/etc/profile 中添加
             export  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

三、测试

        1. 在解压的opencv目录下找到 samples/c/build_all.sh,运行该文件
            
     命令:./build_all.sh
             执行完后会在当前目录下生成很多可执行文件
           

             找其中一个可执行文件执行,若运行没出错就代表OK。
             至此,关于opencv在Ubuntu下的安装成功了。现在就可以尽情的享受计算机视觉带来的奇特世界里。
0 0