赞
踩
系统环境: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下的生成数据了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。