您的位置:首页 > 编程语言 > Java开发

在Ubuntu上安装opencv 并且整合到Eclipse中

2011-06-18 22:54 411 查看
最近在折腾Ubuntu,把一些东西总结下,希望对大家有帮助。因为我自己也是新手入门,内容上如有错误,敬请指正。

软件版本

Ubuntu10.10

Opencv2.2.0

Eclipse 3.6 (helios) CDT
本文主要介绍在Ubuntu上使用Eclipse创建opencv项目,但为了介绍的完整性,首先介绍下如何下载、编译、安装opencv。

 

一.
OpenCV2.2在Linux下的安装(以Ubuntu为例)

1、下载OpenCV2.2<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.    好了,现在来测试一下安装成功没有:

 

      终端下转到刚才解压的OpenCV-2.2.0/samples/c文件夹下,里面有一个build_all.sh脚本,执行之:bash ./build_all.sh,成功之后,ls命令查看,生成了一个facedetect执行文件,./facedetect执行之!如果弹出一个捕捉脸部的窗口,那么恭喜,你成功了。

 

     注:如果在最后执行facedetect时报错:./facedetect: error while loading [b]
shared
libraries:
libopencv_core.so.2.2
:
cannot open shared object file
:
No such file
or
directory
。[/b]

     

 


     这是因为你没有装ffmpeg,这好办,输入sudo -apt-get install ffmpeg安装,安装成功之后再执行facedectect即可!

7、添加环境变量PKG_CONFIG_PATH:
export
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:
当输入:pkg-config --cflags opencv  会出现要添加的路径:

caixia@caixia-desktop:~/Documents/TUM/OpenCV/Install/OpenCV-2.2.0/build$
pkg-config --cflags opencv

当输入:pkg-config --libs
opencv  会出现要添加的库:
caixia@caixia-desktop:~/Documents/TUM/OpenCV/Install/OpenCV-2.2.0/build$ pkg-config
--libs 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
 
全部的添加头文件如下: 具体项目自己具体选择:  这个部分很重要
 

caixia@caixia-desktop:~/Documents/TUM/OpenCV/Install/OpenCV-2.2.0/build$
pkg-config --cflags opencv
 

-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

  
为了大家看的清楚,借用别人的一张图



 
4) 在项目opencvTest上右击,选择Build Project,成功后Run As Local C/C++ Application,应该可以看到opencv画出来的美丽东西啦!
 

 
 

 

 

当输入:pkg-config --libs opencv  会出现要添加的库:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息