亲测 Ubuntu 下安装 OpenCV

Ubuntu 下安装 OpenCV

原作者 

http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html

软件环境:

Ubuntu 12.04

OpenCV 2.4.3

Cmake 2.8.10.1

gcc 4.6.3 (系统默认)

 

1、先安装 libgtk2.0-dev 和 pkg-config,,否则后期编译运行程序会出现类似如下的问题:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line 100 
terminate called after throwing an instance of 'cv::Exception'

通过网络获取安装:

# apt-get install libgtk2.0-dev
# apt-get install pkg-config

 

2、下载OpenCV ,文件名:OpenCV-2.4.3.tar.bz2,下载地址:

http://www.opencv.org.cn/index.php/Download

解压:

#tar jxvf OpenCV-2.4.3.tar.bz2

得到文件夹 OpenCV-2.4.3

这里新建一个文件夹OpenCV-x86作为PC编译目录。

 

3、#cmake-gui 打开cmake的gui界面,开始进行配置。

cmake主要用于进行一些配置设定,从而生成用于编译安装的makefile文件,通过界面进行参数的配置和设定,非常直观、方便。在配置中指定源码和编译目录以及生成方式。

按照下图的步骤进行配置:

image


点击Finish后cmake即载入默认配置,如下图所示:

image

如图所示,窗口的中间部分即配置列表,这里和使用cmake命令直接生成makefile文件一致的,如

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/OpenCV

只是这里通过图形界面的方式来进行配置,更加直观方便。

这里指对一个地方进行修改,CMAKE_BUILD_TYPE 值输入RELEASE,其他保持不变,图中蓝色虚线部分显示了默认的安装目录,生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。在这里的配置中我勾选了WITH_QT 去掉了WITH_TIFF,其他更多的配置也不清楚,OpenCV中文网站也没找到系统的说明,这里暂时不深究,点击Generate生成配置文件。

进入OpenCV-x86目录可以查看Makefile文件,可以留意文件的生成时间是否和刚才的生成时间一致。

4、接下来在OpenCV-x86 分别执行make和make install即可完成编译安装。

5、安装完成后需要对系统相关环境变量进行配置:

sudo gedit /etc/ld.so.conf.d/opencv.conf

将以下内容添加到最后:

/usr/local/lib

接下来配置库:

sudo ldconfig

更改环境变量:

sudo gedit /etc/bash.bashrc

在文件后添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH
保存退出,在运行下面的例程之前,需要重新开启终端来使配置生效。

例程测试

拷贝步骤2中解压的的/OpenCV-2.4.3/samples/c 将c文件夹拷贝出来,下面运行一下这里面的一个例程,初步体验下OpenCV。拷贝完成后进入这个文件夹:

chmod +x build_all.sh

./build_all.sh

这样就对例程目录下的源文件进行了编译,这里运行一个人脸检测的程序,下面摘录自本文参考资料3。

Some of the training data for object detection is stored in /usr/local/share/opencv/haarcascades. You need to tell OpenCV which training data to use. I will use one of the frontal face detectors available. Let’s find a face:

终端中运行:

./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg

得到的结果如下图:

imageimage

到这里基本的就写完了,OpenCV我之前也没有任何基础,这里只是把平台配置起来跑通,后续的工作还有很多,欢迎各位参考。转载请注明http://emouse.cnblogs.com/

本文相关及推荐参考:

【1】http://www.samontab.com/web/2010/04/installing-opencv-2-1-in-ubuntu/

【2】http://blog.csdn.net/jasonque/article/details/8267983

【3】http://www.rosoo.net/a/201203/15774.html

★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com


在Ubuntu上使用Eclipse创建opencv项目

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

软件版本

Ubuntu10.04

Opencv2.2.0

Eclipse 3.6 (helios) CDT

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

1)在home目录下建立一个文件夹,命名为opencv2_2,然后在opencv2_2里建立两个文件夹,一个是opencv2_2_SRC, 一个是opencv2_2_BUILD,供后面cmake使用。

2)到http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.2/ 下载OpenCV-2.2.0.tar.bz2,解压后全部拷贝到刚才的opencv2_2_SRC下。

3)在终端输入 cmake-gui,将打开cmake的图形化窗口。点击Browse Source,选择上一步建立的opencv2_2_SRC;点击Browse Build,选择上一步建立的opencv2_2_BUILD;点击Configure,如果窗口变红,再次点击Configure,直到窗口不红;点击Generate.(注意,如果Configure后弹出报错窗口,意味着有某些必须的软件还没有装好,需先装好这些软件)

4)在终端cd进入opencv2_2_BUILD文件夹,终端输入 make  等待一段时间后,应该make成功了。再在终端输入make install。则opencv被安装到默认的/usr/local下。进入usr/local/lib,应该可以看到比如libopencv_ml.so  libopencv_highgui.so等

至此,安装完成。

 

在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为例。 进入之前建立的opencv2_2_SRC,进入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_cv  opencv_cxcore  opencv_highgui。注意:我们在/usr/local/lib下可以看到libopencv_highgui.so  libopencv_cv.so  libopencv_cxcore.so等文件,但我们在Eclipse这里只要填opencv_cv  opencv_cxcore  opencv_highgui就好了,不要前面的lib和后面的.so

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

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

此外,我在网上搜索时,看到很多人说安装完opencv后,需要在/etc/ld.so.conf 文件里加上一行/usr/local/lib,运行命令 sudo ldconfig之类的,但我自己试下来并不需要做这些,make install时系统应该把这些都做好了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值