最近在折腾Ubuntu,把一些东西总结下,希望对大家有帮助。因为我自己也是新手入门,内容上如有错误,敬请指正。
软件版本
Ubuntu10.10
Opencv2.2.0
本文主要介绍在Ubuntu上使用Eclipse创建opencv项目,但为了介绍的完整性,首先介绍下如何下载、编译、安装opencv。
一. OpenCV2.2在Linux下的安装(以Ubuntu为例)
1、下载OpenCV2.2&l t;span style="font-family: "DejaVu Sans"; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri;" lang="AR-SA">的源代码:从http://sourceforge.net/projects/opencvlibrary 下载OpenCV源码,这里假设它的文件名为OpenCV-2.2.0.tar.bz2,然后解压:
tar jvxf OpenCV-2.2.0.tar.bz2 –C ~/
执行命令后把代码解压到“home/用户名”目录下,目录名为:OpenCV-2.2.0
2、下载Cmake并安装。在Cmake的官方网站http://www.cmake.org/下载Linux下的版本,建议用已经编译好的版本,以节省编译时间,这里以cmake-2.8.2-Linux-i386.tar.gz为例。解压:
tar zxvf cmake-2.8.2-Linux-i386.tar.gz –C ~/
执行命令后把代码解压到“home/用户名”目录下,目录名为:cmake-2.8.2-Linux-i386,执行文件就放在bin目录下
3、安装必要的依赖包。为了实现OpenCV的摄像头捕捉功能和多文件格式支持,需要安装一些必要的工具。在Ubuntu下的安装过程如下:
sudo apt-get install libavformat-dev libswscale-dev
sudo apt-get install libgtk2.0-dev
4、用Cmake生成Makefile。在“home/用户名”目录下建立一个目录“opencv_build”。进入cmake-2.8.2-Linux-i386/bin目录,运行:
./cmake-gui
然后选择源代码目目录:OpenCV-2.2.0和存放生产文件的目录opencv_build,点Configure,然后点Generate
5、编译源代码。进入目录opencv_build,输入:
make
经历一段时间编译完成后,再运行
sudo make install
安装OpenCV到usr/local中
6、添加环境变量PKG_CONFIG_PATH:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:
当输入:pkg-config --cflags opencv 会出现要添加的路径:
见下面下一部分的灰色部分!
二. 在Eclipse里建立一个项目使用opencv
1)打开Eclipse,File->New->C++ Project, 输入Project Name,比如 opencvTest,在Project Type里选 Executable下的Hello World C++ Project,一路Next下去直到Finish。 此时,Eclipse为我们创建了一个名为opencvTest.cpp的文件。
2)我们以opencv自带的drawing.cpp为例。 进入之前建立的opencv_build,进入samples->cpp,打开drawing.cpp,将全部内容拷贝到opencvTest.cpp
3)与windows下使用Visual Studio类似,我们需要告诉项目include路径,lib路径以及相应的lib文件。
在Eclipse左侧Project Explorer里找到刚才创建的opencvTest,在上面右击,选择Properties, C/C++ Build->Settings->GCC C++ Compiler->Includes,添加路径/usr/local/include 注意:因为在drawing.cpp写的是#include<opencv2/core/core.hpp>,因此我们添加路径时只需添加到/usr/local/include这一层,而不需要到/usr/local/include/opencv2这一层。
继续设置lib路径。在GCC C++ Linker->Libraries里,下面的Library search path里添加/usr/local/lib 在上面的Libraries里添加 opencv_core opencv_highgui等。注意:我们在/usr/local/lib下可以看到libopencv_highgui.so libopencv_core.so等文件,但我们在Eclipse这里只要填 opencv_core opencv_highgui就好了,不要前面的lib和后面的.so
全部的添加头文件如下: 具体项目自己具体选择: 这个部分很重要
-I/usr/local/include/opencv
-I/usr/include/eigen2/ Matrics
-I/usr/include/GL ///OpenGL
-I/usr/include/nite
-I/usr/include/ni /kinect
caixia@caixia-desktop:~/Documents/TUM/OpenCV/Install/OpenCV-2.2.0/build$ pkg-config --libs opencv
-L/usr/local/lib
-L/usr/lib
-lopencv_core
-lopencv_imgproc
-lopencv_highgui
-lopencv_ml
-lopencv_video
-lopencv_features2d
-lopencv_calib3d
-lopencv_objdetect
-lopencv_contrib
-lopencv_legacy
-lopencv_flann
-lm
-lrt
-lglut ///OpenGL
-lXnVNite ///nite
-lOpenNI /openni