zoukankan      html  css  js  c++  java
  • 安装opencv2.4.9

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

    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`

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

  • 相关阅读:
    eclipse中统计代码行数
    vmware ubuntu 最近遇到的一些问题
    Shows how to create and run composites dynamically
    程序员的艺术:排序算法舞蹈
    Apache Mina 网络通信
    OutOfMemoryError汇总
    c++/java/c# 几种编程语言的指针、引用比较
    Silverlight开发工具集合
    web.cong 详解
    ASP.NET中的web.config配置
  • 原文地址:https://www.cnblogs.com/Jessica-jie/p/6952267.html
Copyright © 2011-2022 走看看