OpenCV+CUDA支持下的TV-L1光流计算加速
引言
依赖环境与安装脚本
在按照repo中的脚本进行安装前,首先保证机器上已经有CUDA环境mmlab的denseflow给予OpenCV和Boost,repo中提供了。 然而博主在运行时发现频频报错,主要原因是将脚本拆开分别执行的原因。建议创建install_cv.sh一次性执行:
# ZZROOT is the root dir of all the installation # you may put these lines into your `.bashrc` or `.zshrc`. export ZZROOT=$HOME/app export PATH=$ZZROOT/bin:$PATH export LD_LIBRARY_PATH=$ZZROOT/lib:$ZZROOT/lib64:$LD_LIBRARY_PATH # fetch install scripts git clone https://github.com/innerlee/setup.git cd setup # opencv depends on ffmpeg for video decoding # ffmpeg depends on nasm, yasm, libx264, libx265, libvpx ./zznasm.sh ./zzyasm.sh ./zzlibx264.sh ./zzlibx265.sh ./zzlibvpx.sh # finally install ffmpeg ./zzffmpeg.sh # install opencv 4.3.0 ./zzopencv.sh # you may put this line into your .bashrc export OpenCV_DIR=$ZZROOT # install boost ./zzboost.sh # you may put this line into your .bashrc export BOOST_ROOT=$ZZROOT # finally, install denseflow ./zzdenseflow.sh
安装过程中出现任何报错情况时,首先进入报错包的build路径下,寻找CmakeFiles/CmakeOutput.log来确定错误是什么。debug后删除该包的build文件夹,重新执行install_cv.sh。已安装的部分会非常快。
光流提取
在按照repo中的指导执行命令前,环境路径需要赋值。在命令行执行:
$ export ZZROOT=$HOME/app $ PATH=$ZZROOT/bin:$PATH $ LD_LIBRARY_PATH=$ZZROOT/lib:$ZZROOT/lib64:$LD_LIBRARY_PATH
然后按照执行命令即可:
denseflow test -b=20 -a=tvl1 -s=1 -if -v
下一篇:
CentOS7 配置网络和yum源