快捷搜索: 王者荣耀 脱发

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
经验分享 程序员 微信小程序 职场和发展