首先如果你的运气足够好,你完全可以按照 :

https://my.oschina.net/u/1757926/blog/293976

或者OpenCV中文论坛上的Linux下opencv的安装方法

但是我的运气不好,上述两种方法安装不了,参考这个:链接

我把过程分析如下.

  1. 由于opencv的cmakelist里依赖一些库,所有要先配置好这些库,我主要是ffmpeg和x264很烦人: 保险起见,先去除你电脑上的这些重新装.

    sudo apt-get remove ffmpeg x264 libx264-dev

  2. 安装其他依赖库.

    sudo apt-get update
    sudo apt-get install build-essential checkinstall Git
    cmake libfaac-dev libjack-jackd2-dev libmp3lame-dev
    libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev
    libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev
    libxvidcore-dev texi2html
    yasm zlib1g-dev

  3. 安装gstreamer,主要是opencv里头的相机模块用到

    sudo apt-get install libgstreamer0.10-0 libgstreamer0.10-dev
    gstreamer0.10-tools gstreamer0.10-plugins-base
    libgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-good
    gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad
    gstreamer0.10-ffmpeg

  4. 安装,接着安装

    sudo apt-get install libgtk2.0-0 libgtk2.0-dev

  5. sudo apt-get install libjpeg8 libjpeg8-dev

  6. 安装 install x264
    1. Download a recent stable snapshot of x264 from ftp://ftp.videolan.org/pub/videolan/x264/snapshots/. The exact
      version does not seem to matter. To write this guide, I used version
      x264-snapshot-20120528-2245-stable.tar.bz2, but I have used previous
      versions too.

      cd ~/src

      wget ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20120528-2245-stable.tar.bz2

      tar xvf x264-snapshot-20120528-2245-stable.tar.bz2

      cd x264-snapshot-20120528-2245-stable

    2.  

      ./configure --enable-shared --enable-pic
      make
      sudo make install

      PS:由于我的电脑是64,所以要加上 --enable-shared --enable-pic ,否则就会报错:

      /usr/bin/ld:
      /usr/local/lib/libavcodec.a(avpacket.o): relocation R_X86_64_32S
      against `av_destruct_packet' can not be used when making a shared
      object;
      recompile with -fPIC
      /usr/local/lib/libavcodec.a: could not read symbols: Bad value

  7. 安装ffmpeg
    1. Download ffmpeg version 1.2 from http://ffmpeg.org/download.html.PS:装ffmpeg-0.11.1编译不通过,报错:
    2. /usr/local/lib/libswscale.a(swscale_unscaled.o):
      relocation R_X86_64_32S against `av_pix_fmt_descriptors@@LIBAVUTIL_52'
      can not be used when making a shared object; recompile with -fPIC
      /usr/local/lib/libswscale.a: error adding symbols: 错误的值
      collect2: error: ld returned 1 exit status
      make[2]: *** [lib/libopencv_highgui.so.2.4.9] 错误 1
      make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] 错误 2
      make: *** [all] 错误 2

      猜可能是opencv249依赖的ffmpeg版本不对照

      cd ~/src
      wget http://ffmpeg.org/releases/ffmpeg-1.2.tar.bz2
      tar xvf ffmpeg-1.2.tar.bz2
      cd ffmpeg-1.2

    3.     

      ./configure --enable-gpl --enable-libfaac
      --enable-libmp3lame --enable-libopencore-amrnb
      --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis
      --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc
      --enable-version3 --enable-x11grab
      --enable-shared --enable-pic

      make
      sudo make install

  8. 安装v4l (video for linux) from http://www.linuxtv.org/downloads/v4l-utils/.
    报错:dvb-v5.h:69:9: error: ‘NULL’ undeclared here ........原因是v4l的版本不对,于是我装了v4l 1.0.0

    wget http://www.linuxtv.org/downloads/v4l-utils/v4l-utils-1.0.0.tar.bz2

  9. tar xvf v4l-utils-1.0.0.tar.bz2
    cd v4l-utils1.0.0
    make
    sudo make install

  10. 安装OpenCV 2.4.9.
    1. Download OpenCV version 2.4.2 from http://sourceforge.net/projects/opencvlibrary/files/

      cd ~/src

      wget http://downloads.sourceforge.Net/project/opencvlibrary/opencv-unix/2.4.9/OpenCV-2.4.9.tar.bz2

      tar xvf OpenCV-2.4.9.tar.bz2

    2. Create a new build directory and run cmake:

      cd OpenCV-2.4.9/
      mkdir build
      cd build
      cmake -D CMAKE_BUILD_TYPE=RELEASE ..

    3. 验证指定的输出包括以下内容:
      • found gstreamer-base-0.10
      • GTK+ 2.x: YES
      • FFMPEG: YES
      • GStreamer: YES
      • V4L/V4L2: Using libv4l
    4. Build and install OpenCV.

      make
      sudo make install

  11. Configure  配置 Linux.
    1. Tell linux where the shared libraries for OpenCV are located by entering the following shell command:[告诉Linux的共享库OpenCV是通过输入下面的shell命令,也就是其库文件存放的位置]:

      export LD_LIBRARY_PATH=/usr/local/lib 

      Add the command to your .bashrc file so that you don’t have to enter every time your start a new terminal.该命令添加到你的.bashrc文件,这样你就不需要进入你的每一次开始一个新的终端。

      Alternatively, you can configure the system wide library search path.
      Using your favorite editor, add a single line containing the text
      /usr/local/lib to the end of a file named /etc/ld.so.conf.d/opencv.conf.
      In the standard Ubuntu install, the opencv.conf file does not exist;
      you need to create it. Using vi, for example, enter the following
      commands:[或者,您可以配置系统范围的库搜索路径。用你喜欢的编辑器,添加一行文本/usr/local/lib...to the end of a file named/ etc / ld.so.conf.d/opencv.conf。在标准的Ubuntu的安装,opencv.conf文件不存在;你需要创建它。例如,使用VI,输入以下命令:]

      sudo vi /etc/ld.so.conf.d/opencv.conf
      G
      o
      /usr/local/lib
      <Esc>
      :wq!

      After editing the opencv.conf file, enter the following command:

      sudo ldconfig /etc/ld.so.conf

    2. Using your favorite editor, add the following two lines to the end of /etc/bash.bashrc:

      PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
      export PKG_CONFIG_PATH

c.After completing the previous steps, your system should be ready to compile code that uses the OpenCV libraries. The following example shows one way to compile code for OpenCV:

   g++ `pkg-config opencv --cflags` my_code.cpp  -o my_code `pkg-config opencv --libs`

就这样吧.....最好按照步骤来,先装好依赖库再搞别的...

安装opencv2.4.9的更多相关文章

  1. Linux Ubuntu12.04下安装OpenCv2.4.10

    参考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html 捣鼓了一个晚上了,OpenCv还没装好,本来以为看个类似的比如Ubuntu安装OpenC ...

  2. VC 2008 Express下安装OpenCV2.3.1

    VC 2008 Express下安装OpenCV2.3.1   注意: 下列文档以VC2008 Express为例,VC2010下的配置应与本文档类似. VC 6.0不被OpenCV 2.3.1支持. ...

  3. vs2008安装opencv2.4.6

    最近安装opencv2.4.6,发现犯了一个很愚蠢的错误,在此记录一下. opencv的头文件包含应该位于build文件夹内,而我误将opencv文件夹下的include包含了进去,造成无法找到头文件 ...

  4. Ubuntu14.04 64位机上安装OpenCV2.4.13(CUDA8.0)版操作步骤

    Ubuntu14.04 64位机上安装CUDA8.0的操作步骤可以参考http://blog.csdn.net/fengbingchun/article/details/53840684,这里是在已经 ...

  5. CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2

    已測试环境: CentOS 6.3 32bit CentOS 6.5 64bit 以前在CentOS 6.3 32bit安装过OpenCV,參见CentOS 6.3中安装OpenCV2.3.1,现在换 ...

  6. 【opencv安裝】opencv2和opencv3共存——安装opencv2和opencv3到指定目录

    安装 opencv2和opencv3共存会导致运行时问题,须分开 下载源码 cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/hom ...

  7. Ubuntu14.04安装OpenCV2.4.9

    1.安装依赖 sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev lib ...

  8. VC 2010下安装OpenCV2.4.4

    说明: 安装平台:32位XP,VS2010: OpenCV 2.4.4不支持VC 6.0: 网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有问题,再尝试 ...

  9. 转载 VC 2010下安装OpenCV2.4.4

    说明: 1.安装平台:32位XP,VS2010: 2.OpenCV 2.4.4不支持VC 6.0: 3.网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有 ...

  10. (原+转)ubuntu16中安装opencv2.4.11

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5638117.html 参考网址: http://www.cnblogs.com/jeakon/arch ...

随机推荐

  1. Linux后门入侵检测工具

    一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现 ...

  2. 修改window本地hosts文件,修改域名指向

    Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Host ...

  3. 如何安装和配置RabbitMQ(转载)

    如何安装和配置RabbitMQ 今天开始一个小小的练习,学习一下安装和配置RabbitMQ,为什么要学它,因为WCF可以完全兼容和使用RabbitMQ了.我们新的大数据系统需要使用消息队列,所以就开始 ...

  4. maven ,添加加密算法 apache commons-codec.jar 包

    在百度搜索commons-codec.jar maven  , http://mvnrepository.com/ 到 maven 库搜索 commons-codec.jar maven .你需要添加 ...

  5. MVC part3

    SpringMVC原理图 SpringMVC接口解释 DispatcherServlet接口: Spring提供的前端控制器,所有的请求都有经过它来统一分发.在DispatcherServlet将请求 ...

  6. 一个漂亮的 PlaceHolder

    预览: 不知道为什么下面这个窗口中的 JavaScript 代码没有运行-_-||,想看实际效果就把下面的代码保存下来打开看吧. 代码: <!DOCTYPE HTML> <html ...

  7. windows安装xgboost

    https://blog.csdn.net/leo_xu06/article/details/52300869 参考部分共同安装的部分: https://www.cnblogs.com/kongcon ...

  8. curl get请求

    curl --proxy 192.168.1.159:8889  -d "grant_type=client_credential&appid=wxxx&secret=xxx ...

  9. html页面嵌套---分享功能

    1.使用原因 项目中用到了thymeleaf去渲染模板,但是我们这有一个分享的页面,分享出去的页面要加上与生成模板不一样的内容.因为重新再加一套模板又会引起内容的重复与资源浪费.这里就用到了JS的lo ...

  10. 我的第一篇博客之js的XXXX年XX月XX日 星期[日一-六] [上下]午 XX时:XX分

    <!DOCTYPE html> <html>     <head> <title>test</title>                 ...