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上午

最新文章

  1. [转]彻底征服 Spring AOP 之 理论篇
  2. Runtime初学习
  3. Hadoop2.6.0的事件分类与实现
  4. div 指令
  5. ci控制器写规范
  6. 枚举GC Roots的实现
  7. MASM6.15汇编程序例子
  8. SPOJ 1487 Query on a tree III(划分树)
  9. 深入浅出百度地图API开发系列(1):前言
  10. javascript 面向对象整理
  11. OC语法7——内存管理之@property参数
  12. emmet 教程 emmet快捷键大全
  13. Java基础笔记1
  14. Redis案例——商品秒杀,购物车
  15. FUTABA 13-ST-84GINK + DS3231 时钟
  16. Java 基础面试题
  17. Zookeeper入门(二)之基础
  18. Linux上实现Windows的SQLPlus保存SQL历史记录功能
  19. 【命令】Linux常用命令
  20. python学习之老男孩python全栈第九期_day017作业

热门文章

  1. Win8Metro(C#)数字图像处理--2.5图像亮度调整
  2. 程序定义了多个入口点。使用 /main (指定包含入口点的类型)进行编译
  3. QT延时方法整理(QTimer::singleShot,QWaitCondition,QDateTime.secsTo三种新方法)
  4. 无辜的RAD(RAD是让你去创造和使用可复用的组件,不是让程序员“变白痴”)good
  5. Excel导入导出各种方式分析
  6. 条款17:以独立语句将newed对象置入智能指针
  7. 对新数据库使用 Code First
  8. hgoi#20190628
  9. 【转】Mysql索引最左匹配原则理解
  10. 把VSCode配置成C/C++开发IDE