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 阅读(1789) 评论(3) 编辑 收藏 举报