OpenCV2.1在linux下的安装全过程
2010-11-20 17:27
567 查看
一、安装ffmpeg
ffmpeg
终于装上了,把过程记录一下
首先要安装各种解码器
1、lame
lame-3.97.tar.gz
Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
安装方法如下:
Java代码
tar -zxvf lame-
3.97
.tar.gz
cd lame-3.97
./configure --enable-shared --prefix=/usr
make
make install
2、libogg
libogg-1.1.3.tar.gz
Url:http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
安装方法如下:
Java代码
./configure --prefix=/usr
make
make install
3、libvorbis
libvorbis-1.1.2.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz
安装方法如下:
Java代码
./configure --prefix=/usr
make
make install
4、xvid
xvidcore-1.1.3.tar.gz
Url:http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz
安装方法如下:
Java代码
tar zvxf xvidcore-
1.1
.
3
.tar.gz
cd xvidcore-1.1
.
3
/build/generic
./configure --prefix=/usr
make
make install
5、x264
x264-snapshot-20071107-2245.tar.bz2
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安装方法如下:
Java代码
bunzip2 x264-snapshot-
20070913
-
2245
.tar.bz2
tar xvf x264-snapshot-20070913
-
2245
.tar
./configure --prefix=/usr --enable-shared
make
make install
6、libdts
libdts-0.0.2.tar.gz
http://download.videolan.org/pub/videolan/libdca/0.0.2/libdca-0.0.2.tar.gz
安装方法:
Java代码
tar zxvf libdts-
0.0
.
2
.tar.gz
cd libdts-0.0
.
2
./configure --prefix=/usr
make
make install
7、a52
a52dec-0.7.4.tar.gz
http://liba52.sourceforge.net/downloads.html
安装方法:
Java代码
./configure --prefix=/usr
make
make install
8、faad2
faad2-2.6.1.tar.gz
http://www.audiocoding.com/downloads.html
安装方法
Java代码
autoreconf -vif
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install
9、faac
faac-1.26.tar.gz
http://linux.softpedia.com/progDownload/FAAC-Download-554.html
安装方法:
Java代码
tar zxvf faac-
1.26
.tar.gz
cd faac
./bootstrap
./configure --prefix=/usr
make
make install
10、amr-nb
amrnb-6.1.0.4.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/amrnb-6.1.0.4.tar.bz2
安装方法:
Java代码
<
4000
/div>
./configure --prefix=/usr
make
make install
这一步要连接网络
11、amr-wb
amrwb-7.0.0.1.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.1.tar.bz2
安装方法:
Java代码
./configure --prefix=/usr
make
make install
这一步要连接网络
12、lib52
a52dec-0.7.4.tar.gz
http://liba52.sourceforge.net/downloads.html
如果前面的安装一切顺利的话,恭喜你,可以安装ffmpeg了
安装ffmpeg
Java代码
./configure --prefix=/usr --enable-gpl --enable-shared --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-libx264 --enable-liba52 --enable-liba52bin --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-pp --enable-pthreads --disable-ffserver --disable-ffplay
make
make install
安装ffmpeg的时候如果报错:28行foreach函数缺少“)”,需要升级make到3.8.1以上版本。
二 安装pkg-config
pkg-config 是一个库文件安装信息管理工具,它可以返回已安装的库文件及其相关头文件的位置信息。安装这个极容易,自己下载安装把。
pkg-config
通过各个库文件的.pc 文件识别已安装的库文件的信息,这些.pc文件是由各库的安装程序自己生成的,例如ffmpeg
安装程序会在/usr/local/lib/pkgconfig目录下提供libavcodec.pc libswscale.pc
等5个.pc文件,分别对应安装的五个库文件。
但pkg-confg默认只搜索/usr/lib/pkgconfig目录,去寻找.pc文件,这里需要添加一个环境变量 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,使得pkg-config可以找到ffmpeg的安装信息。
三 安装cmake
cmake 是一个跨平台makefile生成工具,是编译新版opencv所必须的工具。
直接下载安装cmake到一个合适的位置,并将cmake安装目录下的bin目录加入PATH环境变量,cmake的使用详见下述说明。
四 安装opencv
1、下载最新版opencv源代码 for linux.
2、在源代码目录下 mkdir release && cd release
3、cmake ../ (重点)
使用cmake 生成编译opecv的Makefile 文件, ../ 是opencv的源代码目录,里面包含了预置的cmake 配置文件CmakeLists.txt。
这里的输出,会显示默认配置下,各模块的检测情况,重点是opencv所需工具库是否被检测到,例如视频编解码库、TBB库等。
查看CmakeLists.txt文件可知,cmake使用pkg-config获取所需的库文件的信息,这就是为什么一定要安装pkg-config的原因。
如果你看到FFMPEG及其下各子项的值为1,ok,检测到了,如果为0,核对1、2两步骤,看是否成功安装了ffmpeg,以及pkg-config是否可以检测到ffmpeg:
使用 pkg-config –list-all | grep libavcodec 。
4、 cmkae-gui ../
若你想改变opencv的默认编译模式,用cmake的图形模式可以编辑一大堆的编译参数,例如是否支持IPP、TBB等等,这里比较讨厌的是,图形模式下,你看不到选择的模块是否被正确检测到,要再运行 cmake ../ 查看。
5、 make && make install 默认 opencv将被安装在 /usr/local/ 下。
6、 编辑环境变量 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 以使得系统可以找到opencv的动态链接库。
到这里,opencv安装完毕,并可读写几乎全部常见视频文件,你可以使用g++直接编译你的例程,如果你的pkg-config配置正确,以下指令可以运行 :
g++ -o my_example my_example.cpp `pkg-config opencv --cflags --libs`
pkg-config opencv --cflags –libs 将返回opencv的头文件和库文件的编译参数。
注 :
1、
如果你使用本文所述方法编译 opencv 1, 则必须改动
opencv的源代码,以使得opencv可以找到ffmpeg的头文件,老版ffmpeg的头文件放置位置与新版不同,opencv 1
找不到相关文件。 Opencv 2.1 做了处理,可以找到任意版本的ffmpeg头文件。
2、 如果你使用的fedora系统,则selinux security 可能阻止你访问ffmpeg的动态库,以下指令解决:
$ chcon -t textrel_shlib_t '/usr/lib/libavutil.so.50'
$ chcon -t textrel_shlib_t '/usr/lib/libavcodec.so.52'
$ chcon -t textrel_shlib_t '/usr/lib/libavformat.so.52'
$ chcon -t textrel_shlib_t '/usr/lib/libswscale.so.0'
注意,根据你安装的ffmpeg版本的不同,最后的数字会有所不同,到/usr/local/lib中查看具体的文件名。
ffmpeg
终于装上了,把过程记录一下
首先要安装各种解码器
1、lame
lame-3.97.tar.gz
Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
安装方法如下:
Java代码
tar -zxvf lame-
3.97
.tar.gz
cd lame-3.97
./configure --enable-shared --prefix=/usr
make
make install
tar -zxvf lame-3.97.tar.gz cd lame-3.97 ./configure --enable-shared --prefix=/usr make make install
2、libogg
libogg-1.1.3.tar.gz
Url:http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
安装方法如下:
Java代码
./configure --prefix=/usr
make
make install
./configure --prefix=/usr make make install
3、libvorbis
libvorbis-1.1.2.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.2.tar.gz
安装方法如下:
Java代码
./configure --prefix=/usr
make
make install
./configure --prefix=/usr make make install
4、xvid
xvidcore-1.1.3.tar.gz
Url:http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz
安装方法如下:
Java代码
tar zvxf xvidcore-
1.1
.
3
.tar.gz
cd xvidcore-1.1
.
3
/build/generic
./configure --prefix=/usr
make
make install
tar zvxf xvidcore-1.1.3.tar.gz
cd xvidcore-1.1.3/build/generic
./configure --prefix=/usr make make install
5、x264
x264-snapshot-20071107-2245.tar.bz2
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
安装方法如下:
Java代码
bunzip2 x264-snapshot-
20070913
-
2245
.tar.bz2
tar xvf x264-snapshot-20070913
-
2245
.tar
./configure --prefix=/usr --enable-shared
make
make install
bunzip2 x264-snapshot-20070913-2245.tar.bz2 tar xvf x264-snapshot-20070913-2245.tar ./configure --prefix=/usr --enable-shared make make install
6、libdts
libdts-0.0.2.tar.gz
http://download.videolan.org/pub/videolan/libdca/0.0.2/libdca-0.0.2.tar.gz
安装方法:
Java代码
tar zxvf libdts-
0.0
.
2
.tar.gz
cd libdts-0.0
.
2
./configure --prefix=/usr
make
make install
tar zxvf libdts-0.0.2.tar.gz
cd libdts-0.0.2
./configure --prefix=/usr make make install
7、a52
a52dec-0.7.4.tar.gz
http://liba52.sourceforge.net/downloads.html
安装方法:
Java代码
./configure --prefix=/usr
make
make install
./configure --prefix=/usr make make install
8、faad2
faad2-2.6.1.tar.gz
http://www.audiocoding.com/downloads.html
安装方法
Java代码
autoreconf -vif
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install
autoreconf -vif ./configure --prefix=/usr --with-mp4v2 --enable-shared make make install
9、faac
faac-1.26.tar.gz
http://linux.softpedia.com/progDownload/FAAC-Download-554.html
安装方法:
Java代码
tar zxvf faac-
1.26
.tar.gz
cd faac
./bootstrap
./configure --prefix=/usr
make
make install
tar zxvf faac-1.26.tar.gz
cd faac
./bootstrap
./configure --prefix=/usr make make install
10、amr-nb
amrnb-6.1.0.4.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/amrnb-6.1.0.4.tar.bz2
安装方法:
Java代码
<
4000
/div>
./configure --prefix=/usr
make
make install
./configure --prefix=/usr make make install
这一步要连接网络
11、amr-wb
amrwb-7.0.0.1.tar.bz2
http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.1.tar.bz2
安装方法:
Java代码
./configure --prefix=/usr
make
make install
./configure --prefix=/usr make make install
这一步要连接网络
12、lib52
a52dec-0.7.4.tar.gz
http://liba52.sourceforge.net/downloads.html
如果前面的安装一切顺利的话,恭喜你,可以安装ffmpeg了
安装ffmpeg
Java代码
./configure --prefix=/usr --enable-gpl --enable-shared --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-libx264 --enable-liba52 --enable-liba52bin --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-pp --enable-pthreads --disable-ffserver --disable-ffplay
make
make install
安装ffmpeg的时候如果报错:28行foreach函数缺少“)”,需要升级make到3.8.1以上版本。
二 安装pkg-config
pkg-config 是一个库文件安装信息管理工具,它可以返回已安装的库文件及其相关头文件的位置信息。安装这个极容易,自己下载安装把。
pkg-config
通过各个库文件的.pc 文件识别已安装的库文件的信息,这些.pc文件是由各库的安装程序自己生成的,例如ffmpeg
安装程序会在/usr/local/lib/pkgconfig目录下提供libavcodec.pc libswscale.pc
等5个.pc文件,分别对应安装的五个库文件。
但pkg-confg默认只搜索/usr/lib/pkgconfig目录,去寻找.pc文件,这里需要添加一个环境变量 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,使得pkg-config可以找到ffmpeg的安装信息。
三 安装cmake
cmake 是一个跨平台makefile生成工具,是编译新版opencv所必须的工具。
直接下载安装cmake到一个合适的位置,并将cmake安装目录下的bin目录加入PATH环境变量,cmake的使用详见下述说明。
四 安装opencv
1、下载最新版opencv源代码 for linux.
2、在源代码目录下 mkdir release && cd release
3、cmake ../ (重点)
使用cmake 生成编译opecv的Makefile 文件, ../ 是opencv的源代码目录,里面包含了预置的cmake 配置文件CmakeLists.txt。
这里的输出,会显示默认配置下,各模块的检测情况,重点是opencv所需工具库是否被检测到,例如视频编解码库、TBB库等。
查看CmakeLists.txt文件可知,cmake使用pkg-config获取所需的库文件的信息,这就是为什么一定要安装pkg-config的原因。
如果你看到FFMPEG及其下各子项的值为1,ok,检测到了,如果为0,核对1、2两步骤,看是否成功安装了ffmpeg,以及pkg-config是否可以检测到ffmpeg:
使用 pkg-config –list-all | grep libavcodec 。
4、 cmkae-gui ../
若你想改变opencv的默认编译模式,用cmake的图形模式可以编辑一大堆的编译参数,例如是否支持IPP、TBB等等,这里比较讨厌的是,图形模式下,你看不到选择的模块是否被正确检测到,要再运行 cmake ../ 查看。
5、 make && make install 默认 opencv将被安装在 /usr/local/ 下。
6、 编辑环境变量 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 以使得系统可以找到opencv的动态链接库。
到这里,opencv安装完毕,并可读写几乎全部常见视频文件,你可以使用g++直接编译你的例程,如果你的pkg-config配置正确,以下指令可以运行 :
g++ -o my_example my_example.cpp `pkg-config opencv --cflags --libs`
pkg-config opencv --cflags –libs 将返回opencv的头文件和库文件的编译参数。
注 :
1、
如果你使用本文所述方法编译 opencv 1, 则必须改动
opencv的源代码,以使得opencv可以找到ffmpeg的头文件,老版ffmpeg的头文件放置位置与新版不同,opencv 1
找不到相关文件。 Opencv 2.1 做了处理,可以找到任意版本的ffmpeg头文件。
2、 如果你使用的fedora系统,则selinux security 可能阻止你访问ffmpeg的动态库,以下指令解决:
$ chcon -t textrel_shlib_t '/usr/lib/libavutil.so.50'
$ chcon -t textrel_shlib_t '/usr/lib/libavcodec.so.52'
$ chcon -t textrel_shlib_t '/usr/lib/libavformat.so.52'
$ chcon -t textrel_shlib_t '/usr/lib/libswscale.so.0'
注意,根据你安装的ffmpeg版本的不同,最后的数字会有所不同,到/usr/local/lib中查看具体的文件名。
相关文章推荐
- Linux下: Eclipse安装配置OpenCV2.1,用C++调用OpenCV过程 及 测试实例
- 在linux中安装opencv 2.1-正常使用视频文件
- Linux安装opencv2.1
- VC2008+OpenCV2.1安装过程
- Linux下安装OpenCV2.1
- opencv2.4.9 linux源码安装过程及问题
- linux,qt,opencv安装配置过程
- linux安装apache的纠结过程
- opencv安装问题`ippicv_linux_20140513.tgz...`
- linux基础进阶:zabbix安装过程
- alfresco 4.2.e(postgreSQL 数据库)在linux系统安装过程
- linux操作系统下,尝试安装无线网卡驱动过程
- Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案
- linux 正确安装opencv解决无法读取视频的问题
- 网站运维架构设计及安装过程(linux+nginx+php-fpm+pgsql+memcached+varnish+mysql)
- Linux 下编译安装OpenCV
- WebSphere 在linux下的安装配置过程
- Linux环境下Python的安装过程
- Linux Deepin 12.06安装过程演示
- [linux]安装过程