環(huán)境
操作系統(tǒng):Ubuntu 18.04
OpenCv版本:4.6.0
交叉工具鏈:arm-linux-gnueabihf-gcc-5.3.1
下載OpenCV源代碼
這里推薦大家到網(wǎng)上找OpenCV的Linux版本安裝包(.tar.gz結(jié)尾),不要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里找到相應(yīng)版本下載,
注意版本要與opencv一致
下載好解壓后,將opencv_contrib放在opencv文件夾里面。
創(chuàng)建一個交叉編譯參數(shù)文件
lu@DESKTOP-UJNM808:/WorkSpace/opencv-4.6.0$ cat arm-linux-gnueabihf.toolchain.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER "/opt/ext-toolchain/bin/arm-linux-gnueabihf-gcc")
set(CMAKE_CXX_COMPILER "/opt/ext-toolchain/bin/arm-linux-gnueabihf-g++")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_C_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon")
set(CMAKE_CXX_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon")
# cache flags
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags")
lu@DESKTOP-UJNM808:/WorkSpace/opencv-4.6.0$
創(chuàng)建一個編譯腳本
lu@DESKTOP-UJNM808:/WorkSpace/opencv-4.6.0$ cat make.sh
cmake -DCMAKE_TOOLCHAIN_FILE=../arm-linux-gnueabihf.toolchain.cmake \
-DCMAKE_INSTALL_PREFIX=./install_arm \
-DBUILD_opencv_world=OFF \
-DBUILD_SHARED_LIBS=ON \
-DWITH_OPENEXR=OFF \
-DWITH_PNG=OFF \
-DBUILD_JAVA=OFF \
-DWITH_OPENJPEG=OFF \
-DENABLE_NEON=ON \
-DENABLE_VFPV3=ON \
-DENABLE_VFPV4=ON \
-DCMAKE_BUILD_TYPE=RELEASE \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DENABLE_FAST_MATH=ON \
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.6.0/modules ..
lu@DESKTOP-UJNM808:/WorkSpace/opencv-4.6.0$
安裝依賴庫
#安裝cmake
$ sudo apt-get install -y cmake
編譯源代碼
# 新建build_arm目錄
$ cd opencv4.6.0/
# 創(chuàng)建build_arm目錄用于存放編譯好的配置文件等信息?
$ mkdir build_arm? ?
# 將make.sh腳本移到build_arm/下
$ mv make.sh build_arm/
# 執(zhí)行編譯腳本
$ ./make.sh
等待編譯完成。
安裝
$ sudo make install
在opencv-4.6.0/build_arm/install_arm/下可以看到如下
文章來源:http://www.zghlxwxcb.cn/news/detail-476779.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-476779.html
到了這里,關(guān)于Ubuntu 18.04 交叉編譯Opencv-4.6.0的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!