系统环境:Ubnutu20.04

opencv_contrib是opencv4.1的扩展库,支持CNN物体识别和姿态估计-生物视觉等功能

1.解压opencv-4.1.0、opencv_contrib-4.1.0、dense_flow

unzip opencv-4.1.0.zip
unzip opencv_contrib-4.1.0.zip
unzip dense_flow.zip

2.在你的opencv目录下创建build目录

cd opencv-4.1.0
mkdir build

3.cmake构建Makefile文件

cmake -DCMAKE_BUILD_TYPE=Release -DWITH_CUDA=ON -DOPENCV_EXTRA_MODULES_PATH=/home/win/PycharmProjects/OpenCV_contrib-4.1.0/opencv_contrib-4.1.0/modules -DWITH_TBB=ON -DBUILD_opencv_cnn_3dobj=OFF -DBUILD_opencv_dnn=OFF -DBUILD_opencv_dnn_modern=OFF -DBUILD_opencv_dnns_easily_fooled=OFF ..

注意里面的

-DOPENCV_EXTRA_MODULES_PATH=/home/win/PycharmProjects/OpenCV_contrib-4.1.0/opencv_contrib-4.1.0/modules

改为

-DOPENCV_EXTRA_MODULES_PATH=这里写上你的opencv_contrib-4.1.0/modules的路径

构建完成之后开始编译:

make -j4

后面的j几根据你电脑性能来选择,这里make -j4是以4个线程并行编译。

出现的问题:

问题1:

丢失:boostdesc_bgm.i等类似文件

解决方案:

这里我把依赖文件上传到这里了,免费积分下载:https://download.csdn.net/download/bjbz_cxy/16153740

下载完成之后解压

解压之后有两个文件

这里在解压boostdesc_bgm.i等.zip这个文件

可以看到如下内容

将这些文件copy到opencv_contrib/modules/xfeatures2d/src/ 目录下就可以了

问题2:

找不到nvcuvid.h文件

解决方案

在刚刚下载的文件里解压Video_Codec_SDK_9.1.23.zip文件

把include目录下的nvcuvid.h文件copy到/usr/local/include目录下就可以了

然后继续make,一路顺畅,顺利完成编译。

然后在进入到dense_flow目录下,创建一个build文件夹

cd dense_flow
mkdir build

然后输入如下命令:

OpenCV_DIR=你的opencv路径/build cmake ..

在输入make

make

可能会出现这个问题:

这个可以忽略,这个不会影响生成,这个可能是make写法的bug。

你会发现会生成可执行文件:

这就代表成功了

我们测试一下看看

先创建几个存储目录,用来存储数据结果

mkdir tmp
mkdir tmp/flow_x
mkdir tmp/flow_y
mkdir tmp/image

在试试GPU效果:

./extract_gpu -f=test.avi -x=tmp/flow_x -y=tmp/flow_y -i=tmp/image -b=20 -t=1 -d=0 -s=1 -o=dir

然后执行完成之后就可以看到tmp下的生成数据了

记录:编译opencv-4.1.0、opencv_contrib-4.1.0、dense_flow过程相关推荐

  1. Ubuntu 16.04 64位+Qt 5.7.1+opencv 3.2.0 + opencv_contrib 3.2.0

    Ubuntu 16.04 64位+Qt 5.7.1+opencv 3.2.0 + opencv_contrib 3.2.0 author@jason_ql http://blog.csdn.net/l ...

  2. Visual Studio 2017环境cmake编译opencv 4.3.0+opencv_contrib 4.3.0(保证成功,保姆级教学,呕心沥血)

    前言:为什么要装opencv_contrib opencv3的版本之后只包含基本内容,众多著名的检测算子(如SIFT.SURF和ORB等内容)因为版权问题转移到了一个名为xfeature2d的第三方库 ...

  3. Windows下编译扩展OpenCV 3.1.0 + opencv_contrib

    在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 为什么要CMake,这里我陈述自己的想法,作为一个刚使用opencv库的小白来说,有以下大概三点内容 1.由于在学 ...

  4. Windows下编译OpenCV+opencv_contrib

    文章目录 前言 一.写在前面重要的事 二.正文 1.安装步骤 2.编译及配置 总结 前言 在学习OpenCV特征检测与匹配时,因为OpenCV3.x版本将SIFT.SURF.ORB算子等的源代码从官方 ...

  5. Linux环境下Arm端源码编译OpenCV+ncnn目标检测模型实例运行调试完整实践记录

    今天需要在嵌入式设备端运行C的程序,里面有依赖OpenCV的部分,这就需要编译安装好OpenCV才行,这个对于我来说还是比较陌生的,我很少用C,所以这里面也没少折腾,一路上遇上了很多的报错,这里我将完 ...

  6. 重新编译Opencv:Opencv3.2.0+CUDA7.5+VS2013+Cmake3.8+Quadro K620显卡+Win7系统

    项目说明:因为我要用opencv里的GPU模块,加速Sift图像拼接算法.所以开始了"参无人寰"的opencv重新编译.一下内容折腾我将近20天,特此记录,献给同样是菜鸟的我们,以 ...

  7. AI视频行为分析系统项目复盘——技术篇1:Ubuntu 18.04部署编译OpenCV+contrib、TensorFlow2.1、CUDA10.1+cuDNN7.6.5、tensorRT6.0.1等

    0 项目背景 接手他人的项目,全过程重头梳理下. 7台服务器,其中6台GPU服务器(GPU:2*2080Ti,CPU:2*Xeon Gold 5118(12核24线程)),一台调度服务器,Ubuntu ...

  8. ubuntu 16.0.4 opencv 4.0.0 + opencv_contrib 4.0.0 cmake-gui 安装

    下载和添加依赖包 1.首先更新 apt-get,在安装前最好先更新一下系统,不然有可能会安装失败.在终端输入: sudo apt-get update sudo apt-get upgrade 2.接 ...

  9. 【caffe】windows下vs2013+opencv3.2.0+opencv_contrib(包含dnn)+cmake3.8编译与配置

    opencv目前已经支持caffe训练模型的读取,以及使用模型进行预测,这个功能是dnn模块实现的,而这个模块位于opencv_contrib中,此前编译的opencv3.2.0并没有将opencv_ ...

  10. Linux 混合编译opencv与opencv_contrib的android版本

    一.该方法只能编译.a文件 使用该脚本:https://github.com/tzutalin/build-opencv-for-android 1 $ git clone https://githu ...

最新文章

  1. 【直播】鱼佬:数据挖掘师之路(河北高校数据挖掘邀请赛)
  2. 为什么大多数公司都不重视技术?
  3. 斐波那契数列的前n项值
  4. C++将带ui界面的qt工程封装为动态库dll
  5. 各类排序算法实现(亲测)
  6. 如何通过网络将文件传输到嵌入式设备_嵌入式系统 Boot Loader技术内幕,带你完全了解Boot Loader...
  7. 初学总结--------Java修饰符与修饰关键字(且叫修饰关键字)
  8. CSDN 代码不能语法高亮的原因
  9. 笨办法学R编程(1)
  10. java 接口 设计模式吗_JAVA接口设计模式-工厂模式
  11. 如何在Ubuntu中重置MySQL Root密码
  12. SpringMVC相关
  13. AR引擎vuforia源码分析、中文注释(2)用手势控制来与模型简单交互
  14. React中用aliplayer-react封装播放组件
  15. 高维数据可视化之t-SNE算法
  16. 消防Linux软件图形显示系统,消防控制室图形显示装置
  17. JAVA笔试面试题集锦05
  18. 125KHz读取ID卡卡号
  19. Android 客户端无法访问 服务器,无法将Android客户端与本地XMPP服务器连接
  20. BindingResult总结以及注意事项

热门文章

  1. java 存储输入_java将用户输入信息保存至txt文件
  2. 添加文件夹语音_微信语音导出方法大全,微信群语音转发只需3步
  3. 网站备案中遇到的问题 名词和解释 大全
  4. EDI许可申请 简介
  5. c 语言输出字符用什么作用是什么,C语言中输出字符串用什么符号
  6. python3.5安装教程linux_安装Python 3.6在Ubuntu 16.04上
  7. bazel 链接第三方动态库_C/C++编程知识:Linux 动态库相关知识整理
  8. mysql 对索引limit_【业务学习】关于MySQL order by limit 走错索引的探讨
  9. c#基础传智播客学习截图
  10. python计算两个正整数的和差积商_已知两个正整数的和与积求这两个数