赞
踩
目录
软件虚拟机: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版本: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,增加后注意不要关闭控制台,否则需要重新设置环境变量,后续操作都在当前控制台。
- export PATH="/usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin:$PATH"
-
- echo $PATH
-
- aarch64-linux-gnu-gcc -v
(1)新建opcncv3_build文件夹,解压缩ffmpeg源码命令:tar -zxvf ./ffmpeg-4.2.9.tar.gz
(2)新建opencv3_install文件夹,用于存储交叉编译结果:
(3)进入./ffmpeg-4.2.9文件夹
(4)开始交叉编译ffmpeg源代码
- ./configure \
- --enable-cross-compile \
- --prefix=/home/topeet/workspace/opencv3_build/opencv3_install \
- --cross-prefix=/usr/local/arm64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- \
- --arch=arm64 \
- --target-os=linux \
- --enable-gpl \
- --extra-cflags=-fPIC \
- --disable-filters \
- --disable-encoders \
- --enable-decoder=h264 --enable-parser=h264 --enable-demuxer=h264 \
- --disable-asm --enable-parsers --disable-debug --enable-ffmpeg --enable-shared --disable-static --disable-stripping --disable-doc --disable-yasm --disable-libx264
-
- make
-
- make install
make和make install成功后,编译的lib文件
注:请使用步骤4所在的终端,不要重新打开终端,否则需要配置步骤4中的环境变量
(1)解压缩:unzip ./opencv-3.4.3.zip
(2)在opencv-3.4.3文件夹内,执行 mkdir arm64_install_opencv3创建文件夹,并进入
(3)设置交叉编译环境变量PKG_CONFIG_PATH
- 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
- #可以不用复制上述lib,待验证
-
-
- export PKG_CONFIG_PATH=/home/topeet/workspace/opencv3_build/opencv3_install/lib/pkgconfig/
-
- source /etc/profile
- #特别重要
(4)执行CMAKE,并交叉编译
- cmake -D CMAKE_BUILD_TYPE=RELEASE \
- -D CMAKE_INSTALL_PREFIX=/home/topeet/workspace/opencv3_build/opencv3_install \
- -D CMAKE_C_COMPILER=aarch64-linux-gnu-gcc \
- -D CMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \
- -D BUILD_SHARED_LIBS=ON \
- -D CMAKE_CXX_FLAGS=-fPIC \
- -D CMAKE_C_FLAGS=-fPIC \
- -D CMAKE_EXE_LINKER_FLAGS=-lpthread -ldl \
- -D ENABLE_PIC=ON \
- -D WITH_1394=OFF \
- -D WITH_ARAVIS=OFF \
- -D WITH_ARITH_DEC=ON \
- -D WITH_ARITH_ENC=ON \
- -D WITH_CLP=OFF \
- -D WITH_CUBLAS=OFF \
- -D WITH_CUDA=OFF \
- -D WITH_CUFFT=OFF \
- -D WITH_FFMPEG=ON \
- -D WITH_GSTREAMER=ON \
- -D WITH_GSTREAMER_0_10=OFF \
- -D WITH_HALIDE=OFF \
- -D WITH_HPX=OFF \
- -D WITH_IMGCODEC_HDR=ON \
- -D WITH_IMGCODEC_PXM=ON \
- -D WITH_IMGCODEC_SUNRASTER=ON \
- -D WITH_INF_ENGINE=OFF \
- -D WITH_IPP=OFF \
- -D WITH_ITT=OFF \
- -D WITH_JASPER=ON \
- -D WITH_JPEG=ON \
- -D WITH_LAPACK=ON \
- -D WITH_LIBREALSENSE=OFF \
- -D WITH_NVCUVID=OFF \
- -D WITH_OPENCL=OFF \
- -D WITH_OPENCLAMDBLAS=OFF \
- -D WITH_OPENCLAMDFFT=OFF \
- -D WITH_OPENCL_SVM=OFF \
- -D WITH_OPENEXR=OFF \
- -D WITH_OPENGL=OFF \
- -D WITH_OPENMP=OFF \
- -D WITH_OPENNNI=OFF \
- -D WITH_OPENNNI2=OFF \
- -D WITH_OPENVX=OFF \
- -D WITH_PNG=OFF \
- -D WITH_PROTOBUF=OFF \
- -D WITH_PTHREADS_PF=ON \
- -D WITH_PVAPI=OFF \
- -D WITH_QT=OFF \
- -D WITH_QUIRC=OFF \
- -D WITH_TBB=OFF \
- -D WITH_TIFF=ON \
- -D WITH_VULKAN=OFF \
- -D WITH_WEBP=ON \
- -D WITH_XIMEA=OFF \
- -D WITH_GTK=OFF -D WITH_GTK_2_X=OFF ..
-
-
- make -j8
-
- make install
CMAKE执行后可以显示版本号:
编译成功后的lib库文件和include头文件:
打包压缩编译出的相关文件:
tar -zcvf opencv3_install.tar.gz ./opencv3_install
将相关lib文件拷贝至嵌入式目录 /lib64 文件夹中,即可运行
本文相关源代码及编译结果:https://download.csdn.net/download/dashuo0501/88485322
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。