zoukankan      html  css  js  c++  java
  • Opencv Linux环境搭建


    注:此篇博客最后没有在linux搭建成功Opencv,请移步:http://blog.csdn.net/tanhngbo/article/details/40403885

    来查看成功的搭建。

    另外,这里是成功在windows里面搭建的效果:http://blog.csdn.net/tanhngbo/article/details/40319805



    在windows下面搞opencv太蛋疼了,这次在linux(ubuntu 10.04)搭建一把。


    千辛万苦完全卸载了残留的vmware,又千辛万苦装上了vmware-tools

    接下来按照官网的教程来看看:

    http://docs.opencv.org/trunk/doc/tutorials/introduction/linux_install/linux_install.html


    先装上这些软件:

    [compiler] sudo apt-get install build-essential
    [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    [optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev


    这里网速太慢,感觉要好久。


    git装不上去,后来改成了git-core就可以了


    接下来使用

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

    发现cmake版本太旧,于是从官网下载:http://www.cmake.org/download/

    我偷懒,下载了binary:cmake-3.0.2-Linux-i386.tar.gz

    然后将解压出来的拷贝到/usr 里面


    然后接下来可以build了。

    CMake Error at 3rdparty/ippicv/downloader.cmake:75 (message):
      ICV: Failed to download ICV package: ippicv_linux_20140513.tgz.
      Status=6;"couldn't resolve host name"


    真是桑不起啊,这里有人回复:

    http://answers.opencv.org/question/40425/opencv-build-fails-because-i-cannot-download-icv/

    先偷懒,屏蔽它吧。


    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local  -D WITH_IPP=OFF ..

    接下来使用:

    make -j8 

    蛤蛤,终于看到编译画面了。





    /home/tan/Desktop/opencv-3.0.0-alpha/modules/core/src/ocl.cpp: In member function ‘void cv::ocl::Image2D::Impl::init(const cv::UMat&, bool, bool)’:
    /home/tan/Desktop/opencv-3.0.0-alpha/modules/core/src/ocl.cpp:4635: error: #pragma GCC diagnostic not allowed inside functions
    /home/tan/Desktop/opencv-3.0.0-alpha/modules/core/src/ocl.cpp:4635: error: #pragma GCC diagnostic not allowed inside functions
    /home/tan/Desktop/opencv-3.0.0-alpha/modules/core/src/ocl.cpp:4638: error: #pragma GCC diagnostic not allowed inside functions
    make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/ocl.cpp.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
    make: *** [all] Error 2

    看起来是gcc太旧了。


    找到一个mirror:

    http://mirrors-ru.go-parts.com/gcc/releases/gcc-4.9.1/

    从里面下载最新的gcc。

    有吓人的110MB,不管了,先下着吧。




    下载完gcc,编译的时候发现:

    configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.

    这下又得坑好久,于是准备换一个opencv版本。


    又上官网抓了一个opecv 2.4.9版本,这下应该好点了吧!

    再不行的话我再搞个旧版本的。


    果然给力啊,这次直接使用

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

    就可以编译了!

    我现在的配置是CMAKE更新到了3.0.2,gcc没有更新,是4.4.3版本


    这下又出问题啦!

    error: ‘avformat_free_context’ was not declared in this scope

    http://answers.opencv.org/question/32801/unresoved-avformat_free_context-was-not-declared/

    这里显示是ffmpeg版本太旧的原因。我发现我的机器上根本没装。


    sudo apt-get install ffmpeg


    好像装出问题了,网连不上。原来是桥接的问题,之前用NAT连不上,只得用桥接。


    随即下载ffmpeg-1.2.9.tar.gz,使用


    ./configure --disable-yasm

    make -j4


    sudo make install


    安装好了。

    接下来再编译opencv又失败了,一大串trace信息,算了,重新安装ubuntu 12.04试试看吧








  • 相关阅读:
    Grep案例(本地模式)
    Java环境变量 和 Hadoop环境变量 配置
    sudo设置
    Linux配置
    mysql安装(前提:Linux最小化安装)
    test
    Floyd算法【最短路1】
    HttpClient调用接口发送文件
    Spring boot 论坛项目实战_07
    Spring boot 论坛项目实战_06
  • 原文地址:https://www.cnblogs.com/tanhangbo/p/4282620.html
Copyright © 2011-2022 走看看