OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
在Windows下使用时需要配置路径和环境变量,当然方法并不容易,这方面网上已经有很多大神做了这方面的讲述,大家可以自己查阅。现在我主要讲解一下OPENCV在linux平台的配置。我选择的OPENCV的版本是2.4.2。在2.1版本以后,OPENCV函数库的结构发生了变化,编译方法也和之前版本有所不同。在安装必要的库之后,可以借助CMAKE工具完成库和头文件等的编译。具体步骤如下:
一、必要库的安装
(1) 安装最基本最必要的库
sudo apt-get install build-essential checkinstall cmake pkg-config yasm
(2) 安装读写图像的I/O库。这些库能够让你读取不同类型的图片。
sudo apt-get install libtiff4-dev libjpeg-dev libjasper-dev
(3) 安装读取视频文件的库
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev
(4) 安装Python
sudo apt-get install python-dev python-numpy
(5) 安装第三方库,TBB它是使OpenCV支持并行编程所需要的库。
sudo apt-get install libtbb-dev
(6)支持摄像头的库:
apt-get install ffmpeg libavcodec-dev libavcodec52 libavformat52 libavformat-dev
apt-get install libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev
apt-get install libxine1-ffmpeg libxine-dev libxine1-bin
apt-get install libunicap2 libunicap2-dev
apt-get install libdc1394-22-dev libdc1394-22 libdc1394-utils
apt-get install swig
apt-get install libv4l-0 libv4l-dev
apt-get install python-numpy
apt-get install libpython2.6 python-dev python2.6-dev #You must install this for python support
假如在编译安装之后才安装上面的库,那么出现的情况是:使用OpenCV函数打开摄像头的程序编译无误,但是就是打不开摄像头。
二、在安装完成必要的库后,安装cmake-gui工具
apt-get install cmake-gui
三、打开cmake-gui界面进行配置。
where is the source code 是解压后的文件源码
where to build the binaries 是MAKEFILE文件生成的路径
点击Configure,选择后Finish。
选择支持QT,库文件被默认安装到/usr/local目录下,当然你也可以自己修改。
点击Generate,在/home/opencv2.4.2目录下生成MakeFile文件。
四、进入/home/opencv2.4.2目录
make
make install
就安装完成了。对应目录下有头文件和依赖的库
五、下面配置library
gedit /etc/ld.so.conf.d/opencv.conf,在末尾加入/usr/local/lib (有可能是个空文件,没关系)然后
sudo ldconfig
然后编辑/etc/bash.bashrc
加入
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
source /etc/bash.bashrc 使之生效。
至此,opencv安装配置完毕,下面开始测试
六、进入opencv源码包下的example/c,执行./build_all.sh
编译完后试一个人脸检测的程序:
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg
参考:http://blog.csdn.net/chenhezhuyan/article/details/23384637
http://www.it165.net/os/html/201407/8791.html
http://www.cnblogs.com/liu-jun/archive/2013/12/24/3489675.html
http://www.cnblogs.com/jeakon/archive/2013/05/08/3066469.html