zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C++ com 组件的使用
    年计算机硬件基础知识大全
    prism 的学习网站
    WPF
    C#录音从声卡
    C#实现放大镜
    HTML常用提交按钮
    HTML常用标签
    k8s 运行单实例 mysql
    aws eks ebs StorageClass PersistentVolume PersistentVolumeClaim
  • 原文地址:https://www.cnblogs.com/severnvergil/p/8397884.html
Copyright © 2011-2022 走看看