Ubuntu 12.04下安装编译OpenCV 2.4.x

转载自:http://blog.csdn.net/shuxiao9058/article/details/7525376

             http://www.cnblogs.com/JohnShao/archive/2011/09/22/2184653.html

 结合这两篇博文


首先要确保ubuntu已经安装GTK+ 2.x(可以执行“pkg-config --modversion gtk+-2.0”命令查看GTK+ 2.x版本,见图1)或者Carbon,否则可能导致程序不能正常运行(如图2所示,这里显示的信息是之前在Ubuntu 11.10版本编译之后,运行程序出现的错误提示信息[安装完成gtk+ 2.x之后,程序正常运行],但是下面是我在Ubuntu 12.04下编译配置的)。


图1 没有安装GTK+ 2.x
 
图2 程序运行错误(因开始编译OpenCV时没有安装GTK+ 2.x)
    可见,我的电脑没有安装GTK+ 2.x,故现在要安装GTK+ 2.x,安装GTK环境只要安装一个gnome-core-devel就可以了,里面集成了很多其他的包。
    即执行下面命令,注意在安装软件之前要配置好网络(VM下网络配置可参考本人博文: VMware WorkStation的三种网络连接方式 ):
  1. $ sudo apt-get install gnome-core-devel  
    也可以使用如下命令只安装GTK+ 2.x:
  1. $ sudo apt-get install libgtk2.0-dev  
或者
  1. $ sudo apt-get install libgtk2.0*  
    再执行如下命令,以用于在编译GTK程序时自动找出头文件及库文件位置:
  1. $ sudo apt-get install pkg-config  
    最后,使用如下命令查看GTK+ 2.x版本
  1. $ pkg-config --modversion gtk+-2.0  
    在整个过程中使用到的软件包有lena(1).tiff、Video.avi、QtSdk-offline-linux-x86-v1.2.1.run、cmake-2.8.8.tar.gz和OpenCV-2.3.1a.tar.bz2,如图3所示,本人已经把这几个文件(压缩包)放在桌面上了。
 

图3 将预使用的文件放在桌面上

一、首先要安装cmake
Step1.1 具体操作如下:

  1. $ tar zxvf cmake-2.8.8.tar.gz
  2. $ cd cmake-2.8.8  
  3. $ ./bootstrap  
    如果执行上面命令后出现如下错误,请执行命令“sudo apt-get install g++”安装C++编译器。
  1. $ ./bootstrap   
  2. ---------------------------------------------  
  3. CMake 2.8.8, Copyright 2000-2011 Kitware, Inc.  
  4. C compiler on this system is: cc   
  5. ---------------------------------------------  
  6. Error when bootstrapping CMake:  
  7. Cannot find appropriate C++ compiler on this system.  
  8. Please specify one using environment variable CXX.  
  9. See cmake_bootstrap.log for compilers attempted.  
  10. ---------------------------------------------  
  11. Log of errors: /home/jiya/Desktop/cmake-2.8.8/Bootstrap.cmk/cmake_bootstrap.log  
  12. ---------------------------------------------  
    这个操作需要消耗的时间比较长,这里可以先喝杯茶继续等。
Step1.2 完成后,会看到提示“CMake has bootstrapped.  Now run make.”,然后执行命令:
  1. -- Configuring done  
  2. -- Generating done  
  3. -- Build files have been written to: /home/jiya/Desktop/cmake-2.8.8  
  4. ---------------------------------------------  
  5. CMake has bootstrapped.  Now run make.  
  6. $  
  7. …  
  8. $ make  
  9. …  
    同样的执行完这个操作后也要稍等片刻。
Step1.3 然后使用如下命令安装到系统(此时若无权限,请使用root进行操作,可以使用“sudo su”命令切换root用户):
  1. $ sudo make install  
  2. …  
Step1.4 这时我们可以使用“cmake –version”命令来查看终端是否有关于cmake的版本信息。如果没有的话,我们就需要修改用户的PATH路径,把cmake路径加入用户环境变量,可以运行如下命令:
  1. $ echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc  
    注意:这里我们使用的是root用户修改的,因此只对root用户生效!如果其他用户也要使用cmake命令,再使用其他用户登录终端后修改用户环境变量。
    也可以修改~/.bashrc文件,如下修改在文件最后添加上面的代码。
注意这里与windows下面的环境变量不同的是环境变量之间是用冒号“:”分隔开的,而非分号“;”,重启终端使用户变量生效。

    测试:重新登录系统(不必重启机器,开始->logout 或者重新打开终端即可),使以上设置生效,在命令行输入cmake --version,会出现如下信息,这说明cmake环境已经成功配置并可以正常使用了。 
  1. $ cmake --version  
  2. cmake version 2.8.8  
  3. $  
二、接下来我们来编译Opencv
Step2.1 返回到桌面,使用如下命令:
  1. $ tar -jxvf OpenCV-2.4.0.tar.bz2  
  2. $ cd OpenCV-2.4.0
  3. $ mkdir release  
  4. $ cd release  
  5. $   
Step2.2 进入release目录后,执行如下命令(注意这是一整条命令且最后有两点“..”),其中“CMAKE_INSTALL_PREFIX=/home/ **** /OpenCV-2.4.0”表示当我们使用“make install”命令安装OpenCV的时候,会将相关文件拷贝到/home/ *** /OpenCV-2.4.0目录下。(****为ubuntu系统的用户名)
  1. $ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/*****/OpenCV-2.4.0 -D BUILD_PYTHON_SUPPORT=ON ..  
    执行上述命令后,release目录下会生产Makefile文件等,如图4所示:
 
图4 release目录下生成的文件及目录
Step2.3 便可执行:
  1. $ make  
    等待编译......
Step2.4 编译完成后运行“sudo make install”命令,会在/home/OpenCV-2.3.1a目录下生成opencv相关目录及文件,包括bin、lib、include等,如图5所示。
 

图5 /home/OpenCV-2.3.1a目录下生成的相关目录及文件

 

三、配置编译环境

5 现在需要配置必要的库。运行sudogedit /etc/ld.so.conf.d/opencv.conf

添加这句命令到文件中,/usr/local/lib,文件或许是空的,不影响。

6  运行此命令 sudoldconfig

7 现在运行这条命令sudogedit /etc/bash.bashrc,添加下面两行到文件的末尾并保存。

1  PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
2  export PKG_CONFIG_PATH

8 运行例程测试

1  cd ~
2  mkdir openCV_samples
3  cp OpenCV- 2.3 . 1 /samples/c /*  openCV_samples
4   cd openCV_samples/
5   chmod +x build_all.sh
6   ./build_all.sh
7  
8   ./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值