zoukankan      html  css  js  c++  java
  • ubuntu---记录.opencv多版本管理与切换

    1 首先当然准备两个不同版本opencv (比如2.4.9和3.1.0)
    
    2 cmake-gui 设置 CMAKE_INSTALL_PREFIX
        2.4.9 安装路径:/usr/local/opencv2
        3.1.0 安装路径 :/usr/loacl/opencv3
    
    3 安装
        比如 按照2.4.9 
        新建build 
        cmake-gui ..
        选择CMAKE_INSTALL_PREFIX /usr/local/opencv2
    ------------------------------------
    
    一般情况下不能直接opencv 的环境写到bashrc,所以我们需要手动进行切换
    
    当你需要使用opencv 2.4.9的话,在终端输入:
        export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv2/lib/pkgconfig
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv2/lib
    
    生效:sudo ldconfig
    
    当你需要使用opencv 3.1.0的话,在终端输入:
        export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv3/lib/pkgconfig
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv3/lib
    
    
    5 CmakeLists.txt设置
    
        opencv3.1.0 需要手动设置 寻找到opencv-config.cmake
    
        set(CMAKE_PREFIX_PATH "/usr/local/opencv3/share/OpenCV")
    
        原文链接:https://blog.csdn.net/u012986684/article/details/77490824
    
    -----------------------------------------------------------------------
     设置管理
    一般情况下不能直接opencv 的环境写到bashrc,所以我们需要手动进行切换
    当你需要使用opencv 2.4.9的话,在终端输入:
        export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv2/lib/pkgconfig
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv2/lib
    
    生效
    sudo ldconfig
    
    当你需要使用opencv 3.1.0的话,在终端输入:
        export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv3/lib/pkgconfig
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/opencv3/lib
    
    原文链接:https://blog.csdn.net/u012986684/article/details/77490824
    -----------------------------------------------------
    
    https://blog.csdn.net/mhsszm/article/details/88558470
    用此种方法安装有二个好处:
    1) 就是在各个opencv版本可以来回自如的切换,并且十分容易移植。
    比如说按上面的方法,我们已经make install两个版本的opencv在不同的文件夹下,如:
    
    /home/install/opencv-2.4.10/build-install, /home/install/opencv-3.4.0/build-install
    
    现在只要更改~/.bashrc就能在两个版本间自由切换。
    
    #opencv3.4.0
    export PATH=/home/oeasy/install/opencv-3.4.0/build_install/bin:$PATH
    export LD_LIBRARY_PATH=/home/install/opencv-3.4.0/build_install/lib:$LD_LIBRARY_PATH 
    export PKG_CONFIG_PATH=/home/install/opencv-3.4.0/build_install/lib/pkgconfig
    
    #opencv2.4.10
    #export PATH=/home/oeasy/opencv-2.4.10/build_install/bin:$PATH
    #export LD_LIBRARY_PATH=/home/install/opencv-2.4.10/build_install/lib:$LD_LIBRARY_PATH
    #export PKG_CONFIG_PATH=/home/install/opencv-2.4.10/build_install/lib/pkgconfig
    
    切换后,source ~/.bashrc,就好了。
    
    2) 十分容易移植
    因为编译opencv要很久的时间,按如上方法编译可以做到一个版本编译一次,能在同平台下的多台电脑上轻易部署。
    到一台新电脑里,只要将build_install这个文件夹下的所有东西复制。然后在新电脑上相应的 ~/.bashrc加上环境变量,就ok了。
    
    不止是opencv 像google的protobuf 也一样,涉及到多个版本的,要切换不同版本的,都可以按如上方法,可得长个心眼了。
    
    原文链接:https://blog.csdn.net/mhsszm/article/details/88558470
    
    ----------------------------------------------------------------------
    sudo gedit /etc/bash.bashrc
    
    source /etc/bash.bashrc
    
    pkg-config --cflags --libs opencv
    
    pkg-config --modversion opencv
    ---------------------------------
    source bin/activate
    
    cd opencv4.1.1
    
    cd opencv-4.1.1
    
    cd samples/cpp/example_cmake
    
    cmake .
    
    ----------------------------
    g++ deep_sort_app.cpp  -o deep_sort_111 `pkg-config --cflags --libs opencv` 
    
    
    =============================================
    安装OPENCV
    wget -O opencv_contrib.zip https://github.com/Itseez/opencv/archive/3.4.2.zip
    wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.4.2.zip
    解压后将opencv_contrib-3.4.1移动道opencv-3.4.1文档目录下;
    
    进入opencv-3.4.1文档,采用外部编译的方式,输入下列代码:
    
    mkdir build;
    
    cd build;
    
    关键是cmake的代码,因为各位ubuntu的系统配置不尽相同,因此可以使用下列比较通用的代码:
    
    cmake -D CMAKE_BUILD_TYPE=RELEASE 
    
        -DCMAKE_INSTALL_PREFIX=/usr/local/ 
    
        -DINSTALL_PYTHON_EXAMPLES=ON 
    
        -DINSTALL_C_EXAMPLES=ON 
    
        -DPYTHON_EXCUTABLE=/usr/bin/python 
    
        -DOPENCV_EXTRA_MODULES_PATH=/home/lxy/opencv/opencv-3.4.2/opencv_contrib-3.4.2/modules 
    
    (3.1)创建build文件夹
    mkdir build
    cd build
    
    (3.2)cmake一下
    #cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    #cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=~/opencv-3.4.2/build/installed -DWITH_CUDA=OFF ..  (建立opencv-3.4.2/build/installed这几个文件夹)
       
    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.2 -D OPENCV_EXTRA_MODULES_PATH=/home/u/opencv-3.4.2/opencv_contrib-3.4.2/modules ..
    
    注意:如果已经在新的文件夹中编译,但是还会出现之前的报错,把cmakecache.txt删了再编译就可
    不报错,继续。。。
    
    (3.3)make一下
    sudo make
    sudo make install    #执行完毕后OpenCV编译过程就结束
    
    (3.4)配置一些OpenCV的编译环境
    第一步:系统环境
    1.首先将OpenCV的库添加到路径,从而可以让系统找到:
    sudo gedit /etc/ld.so.conf.d/opencv.conf 
    
    2.只需要在文件末尾添加:
    /usr/local/lib  
    
    3.使得刚才的配置路径生效:
    sudo ldconfig
    
    第二步:配置bash
    1.打开bash.bashrc 
    sudo gedit /etc/bash.bashrc    # sudo gedit ~/.bashrc
    
    2.在最末尾添加
    #@多版本OpenCV切换 https://blog.csdn.net/learning_tortosie/article/details/80594399
    #export PKG_CONFIG_PATH=~/opencv-3.4.1/build/installed/lib/pkgconfig 
    #export LD_LIBRARY_PATH=~/opencv-3.4.1/build/installed/lib
    
    export PKG_CONFIG_PATH=/usr/local/opencv3.4.2/lib/pkgconfig 
    export LD_LIBRARY_PATH=/usr/local/opencv3.4.2/lib
    
    3.使配置生效
    source /etc/bash.bashrc    # source ~/.bashrc 
    
    (3.5)查询OpenCV版本
    pkg-config --modversion opencv  # 如果输出3.4.2,就表明配置成功。 如果前面没报错,输出不是3.4.2,可能是配置没生效,重启电脑 
    pkg-config opencv --modversion 
    
    ==========================================
    解决pip安装第三方包出现socket.timeout: The read operation timed out超时问题
    pip3 install opencv-contrib-python==3.4.5.20
    
    pip3 --default-timeout=100 install opencv-contrib-python==3.4.5.20
  • 相关阅读:
    Python与mongo交互
    MongoDB数据库操作
    爬虫之xpath解析库
    selenium常用操作
    无头浏览器的使用
    BeautifulSoup库使用
    urllib简单介绍
    爬虫自动化工具防检测
    支付宝支付
    TortoiseSVN使用教程[多图超详细]
  • 原文地址:https://www.cnblogs.com/carle-09/p/11670921.html
Copyright © 2011-2022 走看看