基于Linux系统ARM平台交叉编译 opencv 3.1.0

###基于Linux系统ARM平台交叉编译 opencv 3.1.0 ###


  *执行环境是在Ubuntu Linux 12.04, 但也应该能在其他linux发行版本适用*
                              *(只是其他发行版本名字和跨平台工具不同而已)*

一.准备环境要求
1.Linux主机电脑
2. Git
3. CMake 2.6 或者更高版本
4. ARM跨平台工具: gcc, libstc++ 等
4.根据目标平台选择 gnueabi 或者 gnueabihf 编译工具

二.安装相关依赖软件
1.安装编译工具(根据不同目标平台自己选择)
sudo apt-get install gcc-arm-linux-gnueabi
或安装 gnueabihf:
sudo apt-get install gcc-arm-linux-gnueabihf
2.安装 pkgconfig;
3.安装Python 2.6 或更高版本;
4.安装可选择性是否安装软件
[可选安装软件1] 安装ffmpeg
                             或安装libav基于armeabi(hf)开发包
                       (libavcodec-dev, libavformat-dev, libswscale-dev)

[可选安装软件2] GTK+2.x 或更高版本, 包括头文件libgtk2.0-dev ;

[可选安装软件3] libdc1394 2.x;

[可选安装软件4] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev .

获取OPENCV 3.1.0源码:
A.可以通到官网下载源码OPENCV 3.1.0源码下载

  B.或者启动Git客户端并且克隆openCV仓库获取最新的openCV
    cd ~/ <工作目录>
    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git

创建 OpenCV
用CMake创建OpenCV 编译环境
创建目录存放Cmake产生的Makefile、工程文件、目标文件和输出的二进制文件

例如可以输入如下命令建立编译环境

 cd ~/opencv/platforms/linux
    mkdir -p build_hardfp
    cd build_hardfp
    cmake -DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi.toolchain.cmake ../../..
   Run make in build () directory:
    ```
cmake可选参数说明
   -DCMAKE_TOOLCHAIN_FILE=OpenCV源码目录路径/platforms/linux/arm-gnueabi.toolchain.cmake OpenCV 源目录( 默认工具链是 gnueabihf EABI )
    -DSOFTFP=ON (添加此参数是让cmake打开softfp )
    
使能优化硬件
编译器默认生成 armv5l 的代码而不是VFPv3 and NEON 扩展,可以添加
  -DENABLE_VFPV3=ON 选项产生VFPv3代码
 -DENABLE_NEON=ON 选项产成NEON SIMD 扩展

使用TBB支持多核ARM SoCs,可以添加如下两个选项使能此功能
-DWITH_TBB=ON 
-DBUILD_TBB=ON 
         (要Cmake脚本[TBB源码下载](http://threadingbuildingblocks.org/%20TBB%E6%BA%90%E7%A0%81)下载TBB源码并编译它)




你可能感兴趣的:(基于Linux系统ARM平台交叉编译 opencv 3.1.0)