OOAD作业--ubuntu 12.04LTS 64bit编译安装Opencv2.4.3

0 设备信息

dell-15r-1518 intel i5-3210 h4000 hd7670(禁用)

ubuntu 12.04.1LTS 64bit KDE4.8.5

1 需要列表

根据opencv官方给出的Required Packages,需要

编译器GCC4.4.x或者更新

编译工具CMake2.6或者更新的

git(這個不是必須的,如果沒有需要經常更新的話,我們下載個最新源碼包即可)

GTK+的庫

pkgconfig

Python2.6或者更新的和Numpy1.5或者更新版本

ffmpeg

我們還需要X264解碼器

2 安裝過程

2.0 安装gcc环境

sudo apt-get install build-essential

2.1 安装cmake

sudo apt-get install cmake

2.2 安装pkg-config

sudo apt-get install pkg-install

2.3 安装python,Numpy

 从官网bz2直接下载压缩包,或者用wget

 root或者sudo权限

cd python目录
./configure --prefix=/usr/local/python目录
make
make install 

安装Numpy

sudo apt-get install python-numpy

2.4 移除旧版本的ffmpeg和x264

sudo apt-get remove ffmpeg x264 libx264-dev

配置安装ffmpeg和x264依赖的包

sudo apt-get update
sudo apt-get install build-essential checkinstall git cmake libfaac-dev libjack-jackd2-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev texi2html yasm zlib1g-dev

安装gtk库,gstreamer,libjpeg

gstreamer

sudo apt-get install libgstreamer0.10-0 libgstreamer0.10-dev gstreamer0.10-tools gstreamer0.10-plugins-base libgstreamer-plugins-base0.10-dev gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-ffmpeg

gtk库

sudo apt-get install libgtk2.0-0 libgtk2.0-dev

libjpeg

sudo apt-get install libjpeg8 libjpeg8-dev

2.5安装x264和ffmpeg

下载一个x264的bz2包,wget或直接下载

tar xvf x264-snapshot-20130131-2245-stable.tar.bz2
cd x264-snapshot-20130131-2245-stable

编译安装x264,这里是重点,32位系统和64位系统编译命令有区别

32位

./configure --enable-static
make
make install

64位

./configure --enable-shared --enable-pic

否则64位会出现下面这个问题

[ 25%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/bitstrm.cpp.o
Linking CXX shared library ../../lib/libopencv_highgui.so
/usr/bin/ld: /usr/local/lib/libavcodec.a(avpacket.o): relocation R_X86_64_32S against `av_destruct_packet' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libavcodec.a: could not read symbols: Bad value

下载一个ffmpeg,建议不要太新, 比下载的opencv旧一点吧最好。

tar xvf ffmpeg-0.11.1.tar.bz2
cd ffmpeg-0.11.1

编译安装ffmpeg,老规矩,32位和64位编译命令不同,

32位

./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
make
sudo make install

64位在编译的时候后面加上--enable-shared和--enable-pic

2.6安装最新版的v4l(video for linux)

这个也是不用太新,稍微旧一点。

wget http://www.linuxtv.org/downloads/v4l-utils/v4l-utils-0.8.8.tar.bz2
tar xvf v4l-utils-0.8.8.tar.bz2
cd v4l-utils-0.8.8
make
sudo make install

2.7编译OpenCv2.4.3,配置linux

解压缩

tar xvf OpenCV-2.4.3.tar.bz2

像windows一样创建一个build文件夹用来编译文件

cd OpenCv-2.4.2/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE ..

确定cmake输出包含下面结果

found gstreamer-base-0.10
GTK+ 2.x: YES
FFMPEG: YES
GStreamer: YES
V4L/V4L2: Using libv4

现在可以开始编译OpenCv了

make
sudo make install

3 配置环境

3.1 添加OpenCv路径

export LD_LIBRARY_PATH=/usr/local/lib

或者把这句命令添加到.bashrc中

接着 添加/usr/local/lib 到/etc/ld.so.conf.d/opencv.conf

添加后 更新一下ld.so.conf

sudo ldconfig /etc/ld.so.conf

3.2 配置pkg-config

添加下面两行到/etc/bash.bashrc

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

4 大功告成,可以编译sample和opencv的文件了。。。。

g++ `pkg-config opencv --cflags` my_code.cpp -o my_code `pkg-config opencv --libs`

下面爆图片一张

参考:

http://opencv.org/

http://blog.csdn.net/yr119111/article/details/7666106

http://docs.opencv.org/trunk/doc/tutorials/introduction/linux_install/linux_install.html

http://www.ozbotz.org/opencv-installation/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值