当前位置:   article > 正文

Ubuntu 18.04 交叉编译Opencv-4.6.0_opencv 4.6 交叉编译

opencv 4.6 交叉编译

环境

操作系统:Ubuntu 18.04

OpenCv版本:4.6.0

交叉工具链:arm-linux-gnueabihf-gcc-5.3.1

下载OpenCV源代码


这里推荐大家到网上找OpenCV的Linux版本安装包(.tar.gz结尾),不要github上clone(clone下来的没编译通过)

https://github.com/opencv/opencv/releases/tag/4.6.0

选择tar.gz源码 

下载 Opencv Contrib

https://gitcode.net/mirrors/opencv/opencv_contrib 下载 在Tags里找到相应版本下载,

注意版本要与opencv一致
下载好解压后,将opencv_contrib放在opencv文件夹里面。

创建一个交叉编译参数文件

  1. lu@DESKTOP-UJNM808:/WorkSpace/opencv-4.6.0$ cat arm-linux-gnueabihf.toolchain.cmake
  2. set(CMAKE_SYSTEM_NAME Linux)
  3. set(CMAKE_SYSTEM_PROCESSOR arm)
  4. set(CMAKE_C_COMPILER "/opt/ext-toolchain/bin/arm-linux-gnueabihf-gcc")
  5. set(CMAKE_CXX_COMPILER "/opt/ext-toolchain/bin/arm-linux-gnueabihf-g++")
  6. set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
  7. set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
  8. set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
  9. set(CMAKE_C_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon")
  10. set(CMAKE_CXX_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon")
  11. # cache flags
  12. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
  13. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")
  14. lu@DESKTOP-UJNM808:/WorkSpace/opencv-4.6.0$

创建一个编译脚本

  1. lu@DESKTOP-UJNM808:/WorkSpace/opencv-4.6.0$ cat make.sh
  2. cmake -DCMAKE_TOOLCHAIN_FILE=../arm-linux-gnueabihf.toolchain.cmake \
  3. -DCMAKE_INSTALL_PREFIX=./install_arm \
  4. -DBUILD_opencv_world=OFF \
  5. -DBUILD_SHARED_LIBS=ON \
  6. -DWITH_OPENEXR=OFF \
  7. -DWITH_PNG=OFF \
  8. -DBUILD_JAVA=OFF \
  9. -DWITH_OPENJPEG=OFF \
  10. -DENABLE_NEON=ON \
  11. -DENABLE_VFPV3=ON \
  12. -DENABLE_VFPV4=ON \
  13. -DCMAKE_BUILD_TYPE=RELEASE \
  14. -DENABLE_PRECOMPILED_HEADERS=OFF \
  15. -DENABLE_FAST_MATH=ON \
  16. -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.6.0/modules ..
  17. lu@DESKTOP-UJNM808:/WorkSpace/opencv-4.6.0$

安装依赖库

  1. #安装cmake
  2. $ sudo apt-get install -y cmake

编译源代码

  1. # 新建build_arm目录
  2. $ cd opencv4.6.0/
  3. # 创建build_arm目录用于存放编译好的配置文件等信息 
  4. $ mkdir build_arm   
  5. # 将make.sh脚本移到build_arm/下
  6. $ mv make.sh build_arm/
  7. # 执行编译脚本
  8. $ ./make.sh


等待编译完成。

安装

$ sudo make install

在opencv-4.6.0/build_arm/install_arm/下可以看到如下

 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号