由于专利原因,3.0以后,opencv中的某些功能做了默认的剔除,如果需要安装需要自己单独编译。

Part I 3.0 以下版本

对于低版本的比如2.4.x, ubuntu 下可以直接安装,方法如下:

sudo apt-get update
sudo add-apt-repository --yes ppa:xqms/opencv-nonfree
sudo apt-get update
sudo apt-get install libopencv-nonfree-dev

也可参见: Ubuntu 安装 opencv-nonfree

Part II 3.0以上版本

首先,需要下载和版本一直的 opencv 和opencv_contrib

其次使用cmake-gui, 工具生成Makefile
编译opencv_contrib需要配置两个变量,如下图

然后,执行Configure和Generate

Part III 遇到的问题

问题1 

Cmake error at
opencv_contrib-master/modules/datasets/CMakeLists.txt:5 (ocv_append_source_files_cxx_compiler_options):
Unknown CMake command “ocv_append_source_files_cxx_compiler_options”.

解决方法:

注释掉下面这行(文件中行号5)
opencv_contrib-master/modules/datasets/CMakeLists.txt:5 (ocv_append_source_files_cxx_compiler_options):
也就是不执行这个没有定义的命令

问题2

CV_OVERRIDE 不识别

解决方法:

全部替换成 override

问题 3

CV_FINAL不识别

解决方法:

全部替换成 final

问题4

opencv-3.4.0/opencv_contrib/modules/bioinspired/src/retina_ocl.cpp: In member function ‘virtual const cv::Mat cv::bioinspired::ocl::RetinaOCLImpl::getMagnoRAW() const’:
opencv-3.4.0/opencv_contrib/modules/bioinspired/src/retina_ocl.cpp:451:65: error: no return statement in function returning non-void [-Werror=return-type]
const Mat RetinaOCLImpl::getMagnoRAW() const { NOT_IMPLEMENTED; }
^
opencv-3.4.0/opencv_contrib/modules/bioinspired/src/retina_ocl.cpp: In member function ‘virtual const cv::Mat cv::bioinspired::ocl::RetinaOCLImpl::getParvoRAW() const’:
opencv-3.4.0/opencv_contrib/modules/bioinspired/src/retina_ocl.cpp:452:65: error: no return statement in function returning non-void [-Werror=return-type]
const Mat RetinaOCLImpl::getParvoRAW() const { NOT_IMPLEMENTED; }
^
opencv-3.4.0/opencv_contrib/modules/bioinspired/src/retina_ocl.cpp: In member function ‘bool cv::bioinspired::ocl::RetinaOCLImpl::convertToColorPlanes(const cv::UMat&, cv::UMat&)’:
opencv-3.4.0/opencv_contrib/modules/bioinspired/src/retina_ocl.cpp:395:1: error: control reaches end of non-void function [-Werror=return-type]

解决方法:

395行那个
在最后一个else分之后改为
CV_Error(-1, “Retina ocl only support 1, 3, 4 channel input”);
return false;

451和452行,函数没有实现导致的
const Mat RetinaOCLImpl::getMagnoRAW() const { NOT_IMPLEMENTED; return Mat();}
const Mat RetinaOCLImpl::getParvoRAW() const { NOT_IMPLEMENTED; eturn Mat();}

问题5

 其他test目录下的文件的编译出错问题,为了省时间,不做修改,直接删除这些测试用文件

ubuntu 16.04 编译 opencv_contrib 3.4, nonfree相关推荐

  1. ubuntu 16.04 编译android 7.1,jack报错

    ubuntu 16.04 编译android 7.1,jack报错 Writing client settings in /home/nikos/.jack-settings Installing j ...

  2. android s905 编译_NanoPi K2 (Amlogic S905) Ubuntu 16.04 编译Android 5.1系统源码

    NanoPi K2 (Amlogic S905) Ubuntu 16.04 编译Android 5.1系统源码 1. 下载源码 在这里下载https://www.mediafire.com/folde ...

  3. cmake linux编译,Ubuntu 16.04编译cmake源码

    编译版本:cmake-3.8.0-rc2 为了能够在Ubuntu 16.04中编译出ccmake和cmake-gui,首先需要安装libncurses5-dev sudo apt install li ...

  4. ubuntu 16.04 编译构建QEMU依赖的软件

    在原生ubuntu 16.04下编译构建QEMU过程中,会遇到若干错误.出现这些错误的原因是系统缺少一些软件.根据过去的经验,缺少的软件包列表如下: python, pkg-config, bison ...

  5. Ubuntu 16.04编译Android 7.1.2

    折腾了很久,终于搞定了这个环境.记录一下. 准备工作: 1. 首先在Ubuntu官网上下载Ubuntu16.04的官方镜像.官网下载地址(这个找了很久,这里可以直接下载ISO镜像):https://l ...

  6. 16.04编译android 7.0,[原创]使用ubuntu 16.04编译android-6.0.0_r1

    前言 最近一直在折腾这个android源码从Mac到docker再到ubuntu14.04,最后换了ubuntu 16.04,前前后后花了大概2个星期,感觉自己就是自带bug的男人...呵呵了,记录一 ...

  7. ubuntu 16.04 编译android,Ubuntu 16.04 64bit 编译 Android 4.4 源码

    1.获取Android源码 (1)下载repo 在用户目录下创建一个bin文件夹来存放repo,并把该路径设置到环境变量中mkdir ~/binPATH=~/bin:$PATH 下载repo脚本cur ...

  8. Linux下编译vtk的java版本,Ubuntu 16.04 编译VTK7.1

    编译过程总共分为三步: 第1步:准备编译环境 第2步:cmake生成工程 第3步:编译安装 第1步:准备编译环境 Ubuntu在编译VTK7.1之前需要安装三个软件包:Qt5,X11,OpenGL,C ...

  9. 虚幻4( UnrealEngine) Ubuntu 16.04 编译(附WIN10 + V2019+ UE4.26.2编译问题)

    源码下载 git clone https://github.com/EpicGames/UnrealEngine.git  (官方地址) 觉得clone慢的可以用 git clone https:// ...

最新文章

  1. 用python画玫瑰花教程-使用Python画一朵玫瑰花
  2. 【ABAP】BASE64加密及解密
  3. rocktmq 消息延时清空_RocketMQ-延时消息
  4. 经典排序算法(4)——折半插入排序算法详解
  5. python的特点及应用-python有什么特性和劣势?老男孩python入门
  6. 尤克里里怎么样_尤克里里和吉他区别?尤克里里与吉他相比有什么不可替代的优势...
  7. mxnet创建新的操作(层)
  8. 阿里云MVP第六期发布——覆盖全球20多个国家和地区,成为数字化转型的中坚力量...
  9. 多站合一音乐搜索神器网站源码
  10. python经典实例-Python机器学习经典实例
  11. 简单使用hibernate(idea中使用)
  12. Microsoft SQL Server 2008 R2官方中文版(SQL2008下载).rar
  13. 如何保障项目组写出高质量的代码
  14. python实现qq自动点赞_python实现自动点赞
  15. SMAA算法详解 - SMAASearchYUp(Down)
  16. 写技术文章的一点感悟
  17. ZCU102开发板的时钟系统
  18. 计算机硬件技术基础 徐林,水平定向钻机虚拟现实实训系统硬件研发.ppt
  19. UOJ#198 [CTSC2016]时空旅行
  20. linux系统浏览器无声音,在Deepin 20系统中外接显示器切换后浏览器没有声音的解决经历...

热门文章

  1. linux mread 命令详解
  2. 噪声dba是什么单位_在职DBA : 工作多年为什么还是选择报读工商管理博士
  3. android 仿京东toolbar,仿京东商城系列2------自定义toolbar
  4. VB.NET 在项目中添加App.config的配置
  5. CloudStack设计思想
  6. linux进程--写时拷贝技术copy-on-write(七)
  7. OVS技术介绍(四十一)
  8. activemq无账户密码登录配置修改
  9. PHP算法之四大基础算法
  10. 数据库事务的四大特性以及事务的隔离级别