当前位置:   article > 正文

[RK3588]瑞芯微3588S/3568交叉编译OpenCV3.4.3+FFmpeg4.2.9_rk3588 交叉编译工具链

rk3588 交叉编译工具链

目录

一、适用软硬件环境

二、下载OpenCV、FFMPEG源码

三、设置交叉工具编译链接路径(重要)

三、交叉编译ffmpeg源码

五、交叉编译OpenCV源码

六、部署安装相关lib库

七、测试运行相关lib库


一、适用软硬件环境

软件虚拟机:Ubuntu 18.04 topeet(北京迅为搭建)

软件交叉编译工具链:/usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu

硬件开发板:北京迅为3568开发板、Firefly ROC-RK3588S-PC开发板等

编译目的:读取JPG图片数据,读取MP4视频数据,暂不支持视频编码(没有交叉编译x264)

二、下载OpenCV、FFMPEG源码

OpenCV版本:opencv-3.4.3,FFMPEG下载官网:https://opencv.org/releases/,本文版本下载链接:https://github.com/opencv/opencv/archive/3.4.3.zip

FFmpeg版本:ffmpeg-4.2.9,FFMPEG下载官网:http://ffmpeg.org/download.html#releases ,本文版本下载链接:http://ffmpeg.org/releases/ffmpeg-4.2.9.tar.gz

三、增加交叉工具编译工具环境变量(重要)

设置环境变量PATH,增加后注意不要关闭控制台,否则需要重新设置环境变量,后续操作都在当前控制台。

  1. export PATH="/usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin:$PATH"
  2. echo $PATH
  3. aarch64-linux-gnu-gcc -v

三、交叉编译ffmpeg源码

(1)新建opcncv3_build文件夹,解压缩ffmpeg源码命令:tar -zxvf ./ffmpeg-4.2.9.tar.gz

(2)新建opencv3_install文件夹,用于存储交叉编译结果:

(3)进入./ffmpeg-4.2.9文件夹

(4)开始交叉编译ffmpeg源代码

  1. ./configure \
  2. --enable-cross-compile \
  3. --prefix=/home/topeet/workspace/opencv3_build/opencv3_install \
  4. --cross-prefix=/usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- \
  5. --arch=arm64 \
  6. --target-os=linux \
  7. --enable-gpl \
  8. --extra-cflags=-fPIC \
  9. --disable-filters \
  10. --disable-encoders \
  11. --enable-decoder=h264 --enable-parser=h264 --enable-demuxer=h264 \
  12. --disable-asm --enable-parsers --disable-debug --enable-ffmpeg --enable-shared --disable-static --disable-stripping --disable-doc --disable-yasm --disable-libx264
  13. make
  14. make install

make和make install成功后,编译的lib文件

五、交叉编译OpenCV源码

注:请使用步骤4所在的终端,不要重新打开终端,否则需要配置步骤4中的环境变量

(1)解压缩:unzip ./opencv-3.4.3.zip

(2)在opencv-3.4.3文件夹内,执行 mkdir arm64_install_opencv3创建文件夹,并进入

(3)设置交叉编译环境变量PKG_CONFIG_PATH

  1. cp -r /home/topeet/workspace/opencv3_build/opencv3_install/lib/* /usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib
  2. #可以不用复制上述lib,待验证
  3. export PKG_CONFIG_PATH=/home/topeet/workspace/opencv3_build/opencv3_install/lib/pkgconfig/
  4. source /etc/profile
  5. #特别重要

(4)执行CMAKE,并交叉编译

  1. cmake -D CMAKE_BUILD_TYPE=RELEASE \
  2. -D CMAKE_INSTALL_PREFIX=/home/topeet/workspace/opencv3_build/opencv3_install \
  3. -D CMAKE_C_COMPILER=aarch64-linux-gnu-gcc \
  4. -D CMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \
  5. -D BUILD_SHARED_LIBS=ON \
  6. -D CMAKE_CXX_FLAGS=-fPIC \
  7. -D CMAKE_C_FLAGS=-fPIC \
  8. -D CMAKE_EXE_LINKER_FLAGS=-lpthread -ldl \
  9. -D ENABLE_PIC=ON \
  10. -D WITH_1394=OFF \
  11. -D WITH_ARAVIS=OFF \
  12. -D WITH_ARITH_DEC=ON \
  13. -D WITH_ARITH_ENC=ON \
  14. -D WITH_CLP=OFF \
  15. -D WITH_CUBLAS=OFF \
  16. -D WITH_CUDA=OFF \
  17. -D WITH_CUFFT=OFF \
  18. -D WITH_FFMPEG=ON \
  19. -D WITH_GSTREAMER=ON \
  20. -D WITH_GSTREAMER_0_10=OFF \
  21. -D WITH_HALIDE=OFF \
  22. -D WITH_HPX=OFF \
  23. -D WITH_IMGCODEC_HDR=ON \
  24. -D WITH_IMGCODEC_PXM=ON \
  25. -D WITH_IMGCODEC_SUNRASTER=ON \
  26. -D WITH_INF_ENGINE=OFF \
  27. -D WITH_IPP=OFF \
  28. -D WITH_ITT=OFF \
  29. -D WITH_JASPER=ON \
  30. -D WITH_JPEG=ON \
  31. -D WITH_LAPACK=ON \
  32. -D WITH_LIBREALSENSE=OFF \
  33. -D WITH_NVCUVID=OFF \
  34. -D WITH_OPENCL=OFF \
  35. -D WITH_OPENCLAMDBLAS=OFF \
  36. -D WITH_OPENCLAMDFFT=OFF \
  37. -D WITH_OPENCL_SVM=OFF \
  38. -D WITH_OPENEXR=OFF \
  39. -D WITH_OPENGL=OFF \
  40. -D WITH_OPENMP=OFF \
  41. -D WITH_OPENNNI=OFF \
  42. -D WITH_OPENNNI2=OFF \
  43. -D WITH_OPENVX=OFF \
  44. -D WITH_PNG=OFF \
  45. -D WITH_PROTOBUF=OFF \
  46. -D WITH_PTHREADS_PF=ON \
  47. -D WITH_PVAPI=OFF \
  48. -D WITH_QT=OFF \
  49. -D WITH_QUIRC=OFF \
  50. -D WITH_TBB=OFF \
  51. -D WITH_TIFF=ON \
  52. -D WITH_VULKAN=OFF \
  53. -D WITH_WEBP=ON \
  54. -D WITH_XIMEA=OFF \
  55. -D WITH_GTK=OFF -D WITH_GTK_2_X=OFF ..
  56. make -j8
  57. make install

CMAKE执行后可以显示版本号:

编译成功后的lib库文件和include头文件:

六、部署安装相关lib库

打包压缩编译出的相关文件:

tar -zcvf opencv3_install.tar.gz ./opencv3_install

将相关lib文件拷贝至嵌入式目录 /lib64 文件夹中,即可运行

本文相关源代码及编译结果:https://download.csdn.net/download/dashuo0501/88485322

七、测试运行相关lib库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/640534
推荐阅读
相关标签
  

闽ICP备14008679号