• ubuntu 14.04(trusty)下opencv2与opencv3切换


    背景

    1. ubuntu 14.04下进行SLAM开发,使用ros indigo,而indigo默认的opencv版本为2.4.8
    2. 在高翔博士的《SLAM十四讲》中,需要用到viz模块,此处需要使用的opencv版本为3以上。
      因此需要在实际使用中切换opencv的版本。原则是opencv3不影响默认的opencv 2.4.8版本。

    步骤

    1. 在安装时如果不小心用opencv3覆盖了原来的版本,首先用sudo make uninstall卸载,然后sudo apt-get install --reinstall libopencv-*,将原来的opencv 2.4重新安装覆盖一遍。可以通过pkg-config --modversion opencv命令来查看。

    2. 安装opencv3可参考以下链接:http://rodrigoberriel.com/2014/10/installing-opencv-3-0-0-on-ubuntu-14-04/
      注意,在cmake时要单独创建opencv3的路径,比如我的opencv g3.4.0创建的路径为CMAKE_INSTALL_PREFIX=/usr/local/opencv-3.4.0而不是默认的/usr/local

    3. 在实际代码使用时,CMakeLists.txt的写法,此处基于高博士的imageBasics来给出一个例子:

    cmake_minimum_required( VERSION 2.8 )
    
    project( imageBasics )
    
    # 添加c++ 11标准支持
    set( CMAKE_CXX_FLAGS "-std=c++11" )
    
    # 寻找OpenCV库
    #find_package(OpenCV 2 REQUIRED) # 默认的库
    find_package(OpenCV 3 REQUIRED PATHS "/usr/local/opencv-3.4.0/share/OpenCV") # 自己选择opencv 3
    
    # 添加头文件
    include_directories( ${OpenCV_INCLUDE_DIRS} )
    
    #add_executable( imageBasics imageBasics.cpp )
    ## 链接OpenCV库
    #target_link_libraries( imageBasics ${OpenCV_LIBS} )
    
    1. 在程序中查看OpenCV版本
    #include <opencv2/core/version.hpp> 
    
    cout << "OpenCV version: " << CV_MAJOR_VERSION << "." << CV_MINOR_VERSION << "." << CV_SUBMINOR_VERSION << endl; 
    

    结果分别为:

    OpenCV version: 2.4.8
    OpenCV version: 3.4.0
    

    备注:如果出现调用viz模块segment fault的情况时,cmake选项作修改:WITH_QT=OFF
    参考:https://github.com/opencv/opencv/issues/4681

  • 相关阅读:
    在vim中不能用鼠标右键粘贴和跨系统复制粘贴的解决办法
    2、cat
    OTG相关知识
    vim报错E325(出现.swp文件)地解决方法
    Linux命令1
    数组与集合
    if switch for while
    各类运算符
    java基础概念
    基于对话框的程序隐藏于托盘(二)
  • 原文地址:https://www.cnblogs.com/severnvergil/p/8397884.html
Copyright © 2020-2023  润新知