Ubuntu 11.04编译安装OpenCV2.2详解
1、下载安装CMake for Linux
下载地址:http://www.cmake.org/cmake/resources/software.html
我下载的版本是cmake-2.8.4,下载文件cmake-2.8.4.tar.gz
建立安装文件夹,路径为/home/(你的登录用户名)/cmake ,命令:sudo mkdir ~/home/(你的登录用户名)/cmake
解压cmake包,进入刚刚创建的文件夹,输入tar zxvf ./cmake-2.8.4.tar.gz
编译安装,进入文件夹/home/(你的登录用户名)/cmake/cmake-2.8.4,命令:sudo ./bootstrap; make; make install
打开在用户主目录,用vim或者gedit打开修改/home/(你的登录用户名)/.bashrc, 增加一行 PATH=$PATH:/home/(你的登录用户名)/program/cmake/cmake-2.8.4/bin:
2、下载Opencv for linux
首先下载opencv的源文件包,下载地址:http://www.opencv.org.cn/download/OpenCV-2.1.0.tar.bz2
创建opencv安装目录/home/(你的登录用户名)/Opencv/,命令:sudo mkdir ~/home/(你的登录用户名)/Opencv
解压文件,命令 tar jxvf ./OpenCV-2.1.0.tar.bz2
3、在编译安装opencv2.2之前还要安装一些必要的库
安装方式如下:sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev pkg-config,有些可能已经装过了,但最好确认以上的都装过了,况且Ubuntu的apt-get用起来非常方便。
4、修改OpenCV2.2源代码
在编译之前需要打一个补丁Ticket #862: OpenCV-2.2-nov4l1.patch,否则在编译时会报错而停在80%左右处,其实只是改了两个文件中的几行代码,修改如下:
OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp 217行处
#include
<linux/videodev.h>
|改成
#ifdef HAVE_CAMV4L
#include <linux/videodev.h>
#endif
OpenCV-2.2.0/modules/highgui/src/cap.cpp 174行处
#if defined(HAVE_CAMV4L) || defined (HAVE_CAMV4L2)
|改成
#if defined(HAVE_CAMV4L)
完成
5、编译安装OpenCV2.2
在解压目录下创建build文件夹,运行cmake,命令:cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_Python_SUPPORT=ON ..
注意输入"..",这个表示上一级目录
这时makefile已经生成了,可以看到显示默认安装目录是/usr/local
然后在OpenCV解压目录下刚刚创建build的目录下输入make。
完成后继续输入命令:sudo make install ,进行安装。
接下来要给系统加入opencv库的环境变量(也就是库存放的路径,注意不是解压路径)
用vim打开/etc/ld.so.conf,注意要用sudo打开获得权限,不然无法修改,如:sudo vim /etc/ld.so.conf,在文件中加上一行 /usr/loacal/lib,/user/loacal就是makefile中指定的安装路径
再运行sudo ldconfig,
修改bash.bashrc文件,sudo gedit /etc/bash.bashrc
在文件末尾加入:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
再打开一个新的控制台,然后重启或者注销。
编译安装完毕!^_^
6、初试OpenCV
这里尝试编译运行opencv提供的sample/c下的例子
根据sample中的说明,建立一个example-release文件夹来存放编译结果,命令 sudo mkdir ~/home/(你的登录用户名)/Opencv/OpenCV-2.1.0/samples/c/sample-release
然后进入刚刚创建的文件夹,cd ~/home/(你的登录用户名)/Opencv/OpenCV-2.1.0/samples/c/sample-release
使用cmake生成makefile文件,命令如下 cmake ~cd ~/home/(你的登录用户名)/Opencv/OpenCV-2.1.0/samples/c/example_cmake
然后在sample-release下编译,命令:make
OK可执行文件生成成功!
最后看看效果,输入:./opencv_example
o(∩∩)o...哈哈我们要得东西出来了!