• Ubuntu下安装与卸载opencv模块


    opencv安装

    因工程需要,想在python中调用opencv

    import cv2

    现在记录一下如何在Linux系统(ubutun)下安装该模块:

    参考了一篇博客:http://blog.csdn.net/tengxing007/article/details/54380732

    在自己的电脑上安装成功,现记录一下安装过程:

    step1:

    去opencv官网现在zip包:

    https://opencv.org/opencv-3-3.html

    下载后unzip解压

    step2:

    cd到解压后的目录下,在该目录下mkdir build目录,然后cd build

    step3:

    安装opencv需要依赖很多其他的模块:

    例如

    sudo apt-get -y install  build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils...


    根据自己之前已经安装过的模块,选择没有装过的进行安装。

    step4:

    #编译

    cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

    编译的过程中可能会报一些模块没有找到,需要针对性的安装。

    注:红色标记的路径很重要,可以使得后续装opencv的其他版本共存。

    step5:

    #安装

    make  -j4
    sudo make install

    注意事项:

    1. 若系统已装过cuda,不指定 -D WITH_CUDA=OFF ,opencv默认安装带GPU的opencv。

     2. 安装opencv2.4.13遇到的坑:

    编译过程中报

    [..]/modules/contrib/src/rgbdodometry.cpp:65:47: fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory

    解决办法:https://answers.opencv.org/question/7666/build-failure-244-unsupportedeigenmatrixfunctions/

    rgbdodometry.cpp第65行

    include <unsupported/Eigen/MatrixFunctions>

    改成

    include <eigen3/unsupported/Eigen/MatrixFunctions>
    3. 解决OpenCV版本冲突问题:libopencv_core.so.3.4, needed by //usr/local/lib/libopencv_imgcodecs.so
     
    编译工程的时候报:
    /usr/bin/ld: warning: libopencv_core.so.3.4, needed by //usr/local/lib/libopencv_imgcodecs.so, may conflict with libopencv_core.so.2.4

    解决办法:这显然是两个版本同时,链接时不知道找哪个.3.4是自己编译的,2.4是系统自带的,删除:

    sudo apt-get autoremove libopencv-dev

    提醒:
    以后千万别按照别人的说明apt-get安装libopencv-dev,一定要小心,特别是已近安装了opencv,不然后面编译代码会各种链接不上。

    4. 报错:error: No rule to make target '/usr/lib/libOpenNI.so', needed by 'bin/euroc_rectify'。 停止。
    解决方法:

    这类问题的出现说明程序在编译时,CMakeLists.txt 文件没有找到OpenNI.so, 即 Pangolin库未安装或破损。

    重新安装pangolin库即可。

    遇到编译工程时ld出现问题的总结:不要随便opt-get install软件,特别是自己电脑通过其他途径已经安装了的,不然会出现各种连接出错!!!! 

    5.
    python2.7 import cv 报找不到模块的问题
    出现“No module named cv2”,原因就是python找不到cv2.so文件,我们进入路径/usr/local/lib/python2.7中发现有两个文件夹,
    一个是dist-package,一个是site-package,python默认只在前者里搜索,而我们生成的cv2.so文件则在我们的安装目录"../../opencv3.3.0/build"中
    (还记得这个目录吧,就是我们安装opencv过程中建的那个目录),我们只需要简单的将它移动到dist-package文件夹即可。
    后续有更好的解决方法再更新

    opencv卸载

    找到当初安装 opencv3.3.1 的 build 目录,进入 build 目录

    cd /home/***/opencv/build
    
    sudo make uninstall
    
    cd ..
    
    sudo rm -r build
    
    然后清理 /usr 中所有 opencv 相关项 
    
    sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
    cd /usr
    find . -name "*opencv*" | xargs sudo rm -rf
     
    cd /home/***
    chmod a+x /home/***/opencv
    rm -r /home/***/opencv
     
  • 相关阅读:
    21. 合并两个有序链表
    169. 多数元素
    关于快速幂取模
    IO帮助类
    XML序列化
    字符操作普通帮助类
    判断是否是手机
    C#命名规范汇总12条
    xamarin android如何将Java.Lang.Object类型转成C#类型
    mqtt服务器apollo的搭建和测试工具paho的使用
  • 原文地址:https://www.cnblogs.com/chaofn/p/8098674.html
Copyright © 2020-2023  润新知