1. 查看安装Opencv的版本、以及libs和cflags

$   pkg-config --modversion opencv
$ pkg-config --cflags opencv // 编译链接
$ pkg-config --libs opencv // 库链接

2. 卸载之前的Opencv版本

$   cd <your_opencv_source_files>/build
$ sudo make uninstall
$ cd .. && rm -rf build

3. 安装opencv_contrib----确保与安装的opencv版本一致

"记住:为方便Opencv的调用和读取,建立opencv的install文件夹"

$   sudo mkdir -p /usr/local/opencv410  (安装的是opencv-4.1.0)
$ cd <your_opencv_source_files>/build
$ sudo rm -rf * ## 如果之前安装了opencv再安装contrib就需要将之前的清除再重新安装
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv410 -D OPENCV_EXTRA_MODULES_PATH=<path to opencv_contrib>/modules/ .. "备注:注意如果要安装opencv_contrib模块,确保将之前build文件下的内容删除,然后再重新编译,否则你就会出错!---ERROR2" $ cmake-gui
##另外,如果你要使用nonfree模块里面的特征点提取等相关内容,请使用cmake-gui 编译勾选参数OPENCV_ENABLE_NONFREE,另外其他参数跟前面一样 ----ERROR1
$ sudo make -j8
$ sudo make install

4. CMakeLists.txt 调用OpenCV链接库和头文件

    set(CMAKE_PREFIX_PATH "/usr/local/opencv410/lib/cmake/opencv4")
## 或者用以下方式设定opencv4的构建路径
set(OpenCV_DIR "/home/ian/tools/slam_libraries/opencv-4.1.0/build")
find_package(OpenCV 4 REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(*** ${OpenCV_LIBS})

5. 编译过程中遇到的两个错误,若按照以上方式安装可避免下述错误

ERROR1: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'create';

ERROR2: error: ‘linemod’ was not declared in this scope template<> struct pyopencvVecConverter<linemod::Match>;

[参考链接]:

1. Ubuntu+OpenCV

2. ubuntu卸载OpenCV+Contribute

Author: Ian
星期六, 13. 七月 2019 10:04上午

OpenCV多版本切换和配置--opencv 安装与卸载、添加 opencv_contrib modules 以及 OpenCv 多版本切换的更多相关文章

  1. python pip ,安装,卸载,查看等命令,不同版本

    pycharm及python的使用说明   Python和 pycharm的使用 1. pycharm和Python 下载 安装后需要激活码.判断Python是否安装好了,cmd下跑: python ...

  2. Opencv 2.4.9在Ubuntu下的配置与安装

    [原]Opencv 2.4.9在Ubuntu下的配置安装  Opencv 2.4.9在Ubuntu下的配置与安装 surgewong@gmail.com http://blog.csdn.net/su ...

  3. OpenCV+VS 2015开发环境配置

    最近跑C程序,头文件中用到了OpenCV中的文件,找了很多篇OpenCV+VS的环境配置,发现如下这篇写的最为详细,特转载来自己的博客中留存,并附上原博客地址如下 OpenCV学习笔记(一)——Ope ...

  4. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...

  5. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  6. OpenCV 4.1 编译和配置

    OpenCV 4.0 版本,历时3年半,终于在2018年圣诞节前发布了,该版本增加的新功能如下: 1) 更新代码支持 c++11 特性,需要兼容 c++11 语法的编译器 2)增加 dnn 中的模块功 ...

  7. OpenCV编译以及QT Creator配置

    OpenCV编译以及QT Creator配置 在进行编译前,需下载以下工具和源码: CMake ---- 用于编译: 下载地址; https://cmake.org/ 安装在D:\Program Fi ...

  8. 走近OPENCV // opencv 2.4.9+vs2013配置

    一直很懒去配opencv,这几周忍不了终于抽空来配了一下环境... 用的是旧版opencv2.4系列,最新到3.0了,之后再看看教程不知道有什么特别大的区别. (FF14国服没有4.0 // 8.19 ...

  9. OpenCV使用CMake和MinGW的编译安装

    官方教程:https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows 软件环境: Qt:5.11 CMake-3.14.4 OpenCV-4.1. ...

随机推荐

  1. Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio

    原文:Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio 通过前面几期的学习,我们知道了Android的前世今生,也了解了Android的系统架构和应用组件,也 ...

  2. 动态加载XAML

    string FadeInStoryBoard = "<StoryBoard ... />"; StoryBoard storyBoard = XamlReader.L ...

  3. 使用内核对象Mutex可以防止同一个进程运行两次

    用互斥法实现防止程序重复运行,使用内核对象Mutex可以防止同一个进程运行两次.注意:是名称相同的进程,而不是exe,因为exe程序可以改名. using System.Threading; publ ...

  4. asp.net网站在手机浏览器上全屏显示

    前段时间要把asp.net 网站,在手机上全屏浏览,发现总是小小的一块,不能全屏 后来发现 JQuery Mobile  中在开头都用 <meta name="viewport&quo ...

  5. Android零基础入门第75节:Activity状态和生命周期方法

    前面两期我们学习了Activity的创建和注册.以及启动和关闭,也学会了重写onCraete方法,这些知识在实际开发中远远不够,还需要学习了解更多. 生命周期就是一个对象从创建到销毁的过程,每一个对象 ...

  6. Android应用开机自启动问题

    本文主要介绍Android应用如何实现开机自启动.自启动失败的原因以及通过ADB命令模拟发送BOOT_COMPLETED开机广播. 1.Android应用如何实现开机自启动 (1) 实现一个广播类,接 ...

  7. 国外优秀的UI设计资源库收集

    国外优秀的UI设计资源库 网站设计或者说UI设计对于Web上的运用是非常的关键,一个站做得好不好,能不能吸引人的眼球,设计占了不低的地位,但话又说回来,Web前端人员又有多少人是设计专业毕业,具有这方 ...

  8. WebAPI服务端内嵌在CS程序里面

    有时候我们不需要将WebAPI发布到iis上运行,需要将webapi内嵌到cs程序内部,随程序一起启动,其实比较简单,需要一个类,如下 public class Startup { public st ...

  9. Markdown 语法简体中文版

    Markdown 语法简体中文版(fork 于繁体中文版 http://markdown.tw/ ) http://wowubuntu.com/markdownhttps://github.com/r ...

  10. 利用js参数,保持客户端文件的新鲜度

    不知道你是否碰到过如下情况,在服务端更新了一个重要的js文件后,由于浏览器的缓存机制,导致用户始终不能获取到最新的文件,此时的你恨不得有孙悟空吹毛化身的法术,帮用户清除浏览器的缓存.缓存既是程序员的好 ...