搬运工

导航

Ubuntu 11.04 下OpenCV安装

   由于项目要求,需要使用OpenCV处理网络摄像头的视频数据,实现目标跟踪。首先当然是OpenCV配置了。

环境要求
Ubuntu11.04

OpenCV 2.3.1

具体步骤如下:

(一)执行以下指令,删除ffmpeg and x264 的任何旧版本,如果以前没有安装也没有问题。
sudo apt-get remove ffmpeg x264 libx264-dev

(二)下载并安装x264:
      下载一个最近的stable snapshot of x264版本,下载地址为:ftp://ftp.videolan.org/pub/videolan/x264/snapshots/. 下载的版本并没有严格的要求。
      执行以下指令配置并build x264 :
tar xvf x264-snapshot-20120411-2245.tar.bz2
cd x264-snapshot-20120411-2245/
./configure --enable-static
make
sudo make install

(三)下载并安装ffmpeg.
     下载ffmpeg 0.10.x ,地址:http://ffmpeg.org/download.html. 注意: OpenCV2.3.1以前的版本需要ffmpeg 0.7.x.
     执行以下指令配置并build ffmpeg :
tar xvf ffmpeg-0.10.2.tar.bz2
cd ffmpeg-0.10.2/
./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

(四)下载并安装gtk :
sudo apt-get install libgtk2.0-0 libgtk2.0-dev

(五)下载并安装libjpeg :
sudo apt-get install libjpeg62 libjpeg62-dev

(六)下载并安装v4l (video for linux).
       下载v4l-utils-0.8.7.tar.bz2 from http://www.linuxtv.org/downloads/v4l-utils/
tar xvf v4l-utils-0.8.7.tar.bz2
cd v4l-utils-0.8.7/
编译安装:
make
sudo make install

(七)下载并安装OpenCV.
下载OpenCV 2.3.1 from http://sourceforge.net/projects/opencvlibrary/files/
执行以下命令:
tar xvf OpenCV-2.3.1a.tar.bz2
cd OpenCV-2.3.1/
mkdir build
cd build
cmake ..

make
sudo make install

(八)OpenCV配置
1.添加库路径,动态链接时需要
sudo vim /etc/ld.so.conf.d/opencv.conf

加入:
/usr/local/lib

保存退出。

2.更新系统库
$sudo ldconfig

3.设置环境变量

    export LD_LIBRARY_PATH=/home/username/OpenCV-2.3.1/
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    alias gcv="g++ `pkg-config --cflags opencv` `pkg-config --libs opencv`"

4.测试

cd ~/OpenCV-2.3.1/samples/c
chmod +x build_all.sh
./build_all.sh

然后执行
./facedetect --cascade="/usr/local/share/opencv/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg

出现lena的照片表示成功。

或者也可以写个小helloOpenCv.cpp

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
 
using namespace cv;
using namespace std;
 
int main(int argc, char* argv[])
{
      Mat img = imread("lena.jpg"); 
 
       if(!img.data) 
       return -1; 
       namedWindow("Lena", CV_WINDOW_AUTOSIZE); 
       imshow("Lena", img); 
       waitKey();
       return 0;
}

将上述文件保存在/samples/cpp文件夹下

gcv -o hello helloOpenCv.cpp

./hello

正确显示lena照片,配置表示成功。

剩下的就是自由的编程吧,enjoy yourself!

posted on 2012-04-12 16:04  hackergodness  阅读(1786)  评论(3编辑  收藏  举报