zoukankan      html  css  js  c++  java
  • opencv安装

    Cmake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件
    apt-get install cmake


    linux操作系统上面开发程序, 光有了gcc 是不行的
    它还需要一个   build-essential软件包
    作用是提供编译程序必须软件包的列表信息

    也就是说 编译程序有了这个软件包
    它才知道 头文件在哪 才知道库函数在哪
    还会下载依赖的软件包   最后才组成一个开发环境
    当然 build-essential包 安装时 需要的依赖包 有些你用不上

    软件包: build-essential 安装方法:
    sudo apt-get install build-essential

    openCVan安装:
    可能依赖一些包:
    apt-get install build-essential libtiff4-dev libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev  cmake libswscale-dev libjasper-dev pkg-config


    本文参考http://stackoverflow.com/questions/12335848/opencv-program-compile-error-libopencv-core-so-2-4-cannot-open-shared-object-f


    接下来:
    下载源码包、根据里面的cmakelist.txt用cmake-gui的图形界面进行编译,得到makefile文件,在通过make编译,最后通过make install进行安装。

    对于测试部分用的是:
    终端下转到刚才解压的OpenCV-2.2.0samplesc文件夹下,里面有一个build_all.sh脚本,执行之:bash ./build_all.sh,成功之后,ls命令查看,生成了一个facedetect执行文件,./facedetect执行之!如果弹出一个捕捉脸 部的窗口,那么恭喜,你成功了。

    关于linux中找不到共享库的解决方案
    如 opencv中编译没错,但是运行时却出现

    注:如果在最后执行facedetect时报错:./facedetect: error while loading shared libraries: libopencv_core.so.2.2: cannot open shared object file: No such file or directory。

    这是因为你没有装ffmpeg,这好办,输入sudo -apt-get install ffmpeg安装,安装成功之后再执行facedectect即可!

    error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory


    解决方法:

        首先共享库文件一般在/usr/local/lib下可以找到,如果找到该共享库的话,那么在

      /etc/ld.so.conf.d/xxxx.conf  注意(xxxx.conf)是你自己命名的。比如我缺少opencv库 那么我就写 opencv.conf。


      接下来,就在xxxx.conf文件中写path路径,比如说共享库在/usr/local/opencv/libopencv_core.so.2.4中的话,你就写 /usr/local/opencv/


    最后 sudo ldconfig -v  如果有共享库输出的话,就证明成功了。

    References:
    About shared libraries on Linux: http://www.eyrie.org/~eagle/notes/rpath.html
    About adding the OpenCV shared libraries: http://opencv.willowgarage.com/wiki/InstallGuide_Linux

  • 相关阅读:
    caffe常用层: batchNorm层和scale层
    简述configure、pkg-config、pkg_config_path三者的关系
    python删除list中元素的三种方法
    Leetcode 872. Leaf-Similar Trees
    Leetcode 508. Most Frequent Subtree Sum
    Leetcode 572. Subtree of Another Tree
    Leetcode 894. All Possible Full Binary Trees
    Leetcode 814. Binary Tree Pruning
    Leetcode 557. Reverse Words in a String III
    python 多维list声明时的小问题
  • 原文地址:https://www.cnblogs.com/ct1104/p/3757784.html
Copyright © 2011-2022 走看看