环境:ubuntu20.04+cuda10.1+opencv4.10+cmake3.16+libzip1.18 +ffmpeg 推荐Ubuntu18.04+opencv4.1.0+dense_flow
1、安装cuda
这里建议使用cuda10.0cuda10.0下载,cuda9的版本会出现Unsupported gpu architecture 'compute_75' 的报错,这是由于cuda9版本不支持compute_75。Unsupported gpu architecture 'compute_75’报错原因。记得在自己的环境变量中添加cuda10.0安装不同的cuda版本
export CUDA_HOME=/usr/local/cuda-10.0
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
cuda10.0要注意Decode 模块已经被废弃,该模块和 Encode 模块将作为 NVIDIA VIDEO CODEC SDK 模块独立发行。
cp Video_Codec_SDK_9.0.20/include/nvcuvid.h /usr/local/cuda-10.0/include/
cp Video_Codec_SDK_9.0.20/include/cuviddec.h /usr/local/cuda-10.0/include/
- 第二种解决方法
将两个头文件添加到编译是的搜索路径下,下载Video_Codec_SDK_10.0.26,在自己的环境中添加
export C_INCLUDE_PATH=/yourpath/Video_Codec_SDK_10.0.26/Interface:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/yourpath/Video_Codec_SDK_10.0.26/Interface:$CPLUS_INCLUDE_PATH
2、gcc选择
我这里选择的是gcc-5和g+±5,ubuntu20.04下安装和选择合适的gcc和g++参考ubuntu20.04+gcc降级和指定版本gcc和g++,不然可以会出现这样的错误gcc导致opencv出错
3、安装cmake3.16
版本低的cmake不能编译opencv4.1.0,好像是3.3以上的cmake版本才可以安装cmake3.16 参考:cmake安装
4、安装libzip
libzip的github下载libzip下载,安装过程
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=你自己的路径 ..
make -j4
make install
安装完成后记得添加到自己的环境变量中
export PATH=yourpath/libzip/lib/pkgconfig/:$PATH
5、安装ffmpeg
参考ffmpeg安装,注意最后添加到自己的环境变量中,例如
export PKG_CONFIG_PATH=yourpath/ffmpeg/lib/pkgconfig:$PKG_CONFIG_PATH
6、安装boost及各种依赖包
很多教程上没有写要安装boost,导致在编译时候找不到boost,后来才知道boost是要自己安装,输入sudo apt-get install libboost-all-dev 安装各种依赖,参考安装依赖
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
编译OpenCV以及openc_contrib会提示缺少boostdesc_bgm.i文件出错,报错为~/opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:673:20: fatal error: boostdesc_bgm.i: No such file or directory 以下文件需要重新拷贝放opencv_contrib/modules/xfeatures2d/src/ 路径下, 百度云链接:https://pan.baidu.com/s/1BeYF8kqEZLAJYQj-MvxpmA 提取码:e1wc 参考:安装opencv时,xfeatures2d模块缺失boostdesc_bgm.i文件
7、开始编译 按照上面1-6步骤进行,接下来参考opencv4.1.0 + dense_flow安装与使用和opencv4.1.0 dense_flow配置过程记录进行就ok。
一些问题的解决方法:运行dense_flow遇到的问题,denseflow视频截帧提取光流工具,dense_flow的编译与安装过程很麻烦,每次快要成功的时候都会有问题,但坚持下来会收获很多,有问题就百度。
|