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文件,通过界面进行参数的配置和设定,非常直观、方便。在配置中指定源码和编译目录以及生成方式。
按照下图的步骤进行配置:
点击Finish后cmake即载入默认配置,如下图所示:
如图所示,窗口的中间部分即配置列表,这里和使用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
得到的结果如下图:
到这里基本的就写完了,OpenCV我之前也没有任何基础,这里只是把平台配置起来跑通,后续的工作还有很多,欢迎各位参考。转载请注明http://emouse.cnblogs.com/
本文相关及推荐参考:
【1】http://www.samontab.com/web/2010/04/installing-opencv-2-1-in-ubuntu/
在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时系统应该把这些都做好了。