iDT算法安装运行(含Ubantu16.04下opencv-2.4.13及ffmpeg-3.4安装教程)

improved dense trajectory算法安装运行

(含Ubantu16.04下opencv-2.4.13及ffmpeg-3.4安装教程)

-------本文仅为学习笔记,不做任何商业用途-------

前言

    最近在复现一篇多视角图像融合的论文,而论文中对于视频特征的提取首先是通过iDT算法(improved dense trajectory)来进行提取的。基于上述原因,需要首先复现iDT的代码,iDT的相关代码可从此处下载。根据作者介绍,iDT算法是在Linux下运行的c++代码,故本人作为一个从来没有接触过linux的小白,开始了全新之旅,本文接下来就从opencv和ffmpeg的安装说起,相关资源下载在下面介绍。
opencv-2.4.13、ffmpeg-3.4.8、yasm-1.3.0

一、Ubantu16.04安装

    由于本人在此之前从来没有接触过linux系统,所以对于Ubantu的安装也是一窍不通,在跌跌撞撞了无数次,踩了无数次坑之后,故将整个过程进行介绍。
    其实对于Ubantu16.04的安装教程网上有很多,可以采用装Ubantu双系统的方式,也可以选择通过安装虚拟机的方式。本人两种方式皆有采用,但在这里推荐虚拟机的方式(悄咪咪说一句:其实是把双系统的环境配乱了才采用的虚拟机,不过很好用),这里可以贴出相关教程的信息:
Ubantu16.04和windows10双系统安装
VMware Workstation Pro(虚拟机)下Ubantu16.04安装

二、opencv-2.4.13安装

    据iDT算法的作者介绍,相关代码是在opencv-2.4.2上进行的,而在网上相关教程查询后,发现opencv-2.4.13也可以采用,故本人安装了opencv-2.4.13。
1.安装前步骤:

# 在安装好Ubantu16.04系统后,打开终端
Ctrl+Alt+t 或 鼠标右键打开终端

# 获取更新
sudo apt-get update

# 安装编译工具
sudo apt-get install build-essential

# 安装依赖包
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

# 安装可选包
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

# 安装补充依赖包(由于在最后程序编译时缺少文件报错,故建议在此补充安装下述包,没有可忽略)
sudo apt-get install libavdevice-dev

2.通过上述链接下载好软件后,拷贝到Ubantu16.04的home中,并解压到home中。
3.编译安装opencv-2.4.13

# 打开openc-v2.4.13文件夹
cd opencv-2.4.13

# 新建文件夹
mkdir release

# 编译(注意此步需要在opencv-2.4.13内打开终端运行以下命令行)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

# 按照自己的配置开启线程
make -j4
sudo make install 

4.系统配置

# 配置环境,将opencv的库加入到路径,从而让系统可以找到
(下面的命令会打开一个窗口,在窗口内末尾加入/usr/local/lib,保存退出)
sudo gedit /etc/ld.so.conf.d/opencv.conf

# 使配置生效
sudo ldconfig   

(下面的命令会打开一个窗口,在窗口内末尾加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存退出)
sudo gedit /etc/bash.bashrc 

 #使配置生效
sudo source /etc/bash.bashrc 

(该步骤可能会报错找不到命令,原因是source为root命令)
su # 进入root权限(或sudo su)
输入密码
source /etc/bash.bashrc
Ctrl+d #退出root
sudo updatedb #更新database

5.至此,opencv-2.4.13就已经安装完成。

三、ffmpeg-3.4.8安装

1.通过上述链接下载好ffmpeg-3.4.9以及yasm-1.3.0后,拷贝到Ubantu16.04的home中,并分别解压到home中。
2.安装yasm-1.3.0(很重要!!!)

# 在终端输入下述命令
cd yasm-1.3.0/ 
./configure 
make 
make install

3.安装ffmpeg-3.4.8

cd ffmpeg-3.4.8
./configure --enable-shared --prefix=/home/test/ffmpeg 
make 
make install

4.最后一步,也是最重要的一步,lib包加载

cd /home/test/ffmpeg/

# 查看一下发现有bin,include,lib,share这4个目录,其中bin是ffmpeg主程序二进制目录,include是C/C++头文件目录,lib是编译好的库文件目录,share是文档目录,然后进入bin目录

cd bin
./ffmpeg -version 

# 执行完上述命令,会出现以下错误:libavdevice.so.57: cannot open shared object file: No such file or directory
# 然后继续执行下述命令

vim /etc/ld.so.conf.d/ffmpeg.conf

# 这里可能会出现一系列vim的提示,说明缺少vim,可以执行下面命令

sudo apt-get install vim

# (上述命令如若不行,请自行百度其他安装vim的方法)
# 安装成功后再执行下述命令:
***********************************************
vim /etc/ld.so.conf.d/ffmpeg.conf

# 此时会出现一个界面,按如下步骤操作(踩过的坑啊,血泪教训!!!)

:i
:/home/test/ffmpeg/lib

# 再输入完上述语句后按Esc键保存

:w !sudo tee %

# 执行上述语句退出,再执行下述语句

ldconfig
./ffmpeg -version

*************************************************
# 到这里就会显示出ffmpeg的版本号,意味着安装成功,但如果还是报以下错误:libavdevice.so.57: cannot open shared object file: No such file or directory
# 可以重新尝试写入文件内容,即再次执行****号里的步骤内容

四、iDT算法运行

1.下载iDT算法代码
2.解压到home文件
3.打开文件及后续操作

cd improved_trajectory_release

# 编译
sudo make
# 然后会生成一个release文件夹,两个cpp编译后的文件在其中,先将test_sequences中的视频文件和特征文件复制到release文件夹中,然后进入release文件夹
cd release
cp /home/(你的用户名)/improved_trajectory_release/test_sequences/person01_boxing_d1_uncomp.avi /home/(你的用户名)/improved_trajectory_release/release/
cp /home/(你的用户名)/improved_trajectory_release/test_sequences/person01_boxing_d1.tar.gz /home/(你的用户名)/improved_trajectory_release/release/
# 先用Video.cpp检验环境是否安装成功
./Video person01_boxing_d1_uncomp.avi
# 然后,试着提取视频的idt特征,并保存为gz压缩文件,如果想看可视化效果,需要将DenseTrackStab.cpp开头的show_track设置为1,然后重新make一下
./DenseTrackStab person01_boxing_d1_uncomp.avi | gzip > out.features.gz

总结

    由于是初次接触linux系统,在安装上述软件时遇到了不少的困难,也踩到了不少的坑,尽管折腾了几天,但最后还是成功运行了,故总结此篇文章供小伙伴们参考(避免踩坑)。由于是在成功之后写下此文,故可能在有些地方记忆不太完善或缺少相关结果的图片,如有错误请指出,希望大家都能顺利安装,收获满满!!!

Reference

[1]https://blog.csdn.net/qq_42754408/article/details/89409987
[2]https://blog.csdn.net/weixin_42416780/article/details/109531470
[3]https://www.cnblogs.com/masbay/p/10844857.html
[4]https://www.jianshu.com/p/faf8bbbdd0f2
[5]https://blog.csdn.net/luoqiang616477607/article/details/81505897
[6]https://blog.csdn.net/weixin_42130167/article/details/83895814

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值