Linux下编译Opencv

主机环境:

     Ubuntu-12.04

编译器:

    gcc 版本 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)

交叉编译器:

    gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67)

 

原料:

    Opencv-2.4.10(下载地址:http://opencv.org/downloads.html

工具:

    cmake-gui(用于配置Opencv)

    若在系统中没有cmake程序,需要自己安装。在Ubuntu系统中可以使用下面的命令安装

    # sudo apt-get install cmake

目标:

    1. Linux主机可以使用的opencv库

    2. arm-linux嵌入式系统可以使用的opencv库

 

一. 编译Linux主机中可以使用的Opencv库

     1.启动cmake-gui  配置Opencv

     # cmake-gui

   

选择好opencv的源文件目录和配置文件的目录点击Configure选择如下图

选择配置为unix makefiles project


下一步:选择编译使用的编译器


 

因为是在linux主机上使用,这里选择gcc和g++

点击Finish后如下:





这是默认的配置,我们可以根据自己的需要选择配置项。

我这里修改下面几项,其他的配置使用默认。

CMAKE_INSTALL_PREFIX    库的安装目录

修改完后,点击Configure, 然后再点击Generate

如果没有什么错误,就会顺利的执行到结束。

到此就算是配置完成了,接下来就是要编译了,如果在编译过程中出现什么错误,一般是由于缺少库而造成的。根据错误的提示安装所缺失的库或是重新配置去掉那个选项(前提是不影响我们后面的使用才可以去掉)。

2. 编译Opencv库

进入刚才设置的那个存放产生Makefilecmake相关文件的目录。


# make && make install

 

 

开始编译:这个过程比较长,根据机器的配置不同时间会不同。我大概用了20分钟。

3. 测试

 

运行opencv源码中自带的人脸识别程序。

 

# cd opencv-2.4.10/samples/c

 

#./build_all.sh

 

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


 

 

 

二. 编译可以在arm-linux嵌入式系统上可以使用的库

在主机上编译opencv库相差不大。过程就不详细写了,只说一下最重要的部分就是编译器的选择。为目标机编译opencv库需要使用交叉编译器。

 


 

下图可以看到选择的交叉编译器的路径:

 


 

 

  这里还要根据需要配置一下,因为是在在目标板上使用。

做如下修改:

去掉WITH_TIFF,WITH_CUDA

修改CMAKE_BUILD_TYPE 为 RELEASE

修改CMAKE_INSTALL_PREFIX,为arm-linux嵌入式系统库所在目录

修改完成后,再重新生产配置文件。

进入到配置文件的目录中执行:

# make && make install

编译完成后可以在CMAKE_INSTALL_PREFIX指定的目录中看到编译产生的库。下载到板子上就可以使用了。

 

 

(注:这是我在编译opencv库所记录下来的,如有错误请指正)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值