ubuntu系统下交叉编译OpenCV-带有ffmpeg模块及H264编码
一、安装交叉编译工具链
参考我的博客: ubuntu系统下交叉编译工具链配置
二、交叉编译依赖
1.x264
参考我的博客: ubuntu系统下交叉编译x264
2.ffmpeg
参考我的博客: ubuntu系统下交叉编译ffmpeg
三、准备文件
1.opencv-4.5.5.zip
网址:
https://github.com/opencv/opencv/tree/4.5.5
点击"Code"下的"Download ZIP"
2.opencv_contrib-4.5.5.zip
网址:
https://github.com/opencv/opencv_contrib/tree/4.5.5
点击"Code"下的"Download ZIP"
3.cache.zip
网址:
https://download.csdn.net/download/heqingchun16/87581959?spm=1001.2014.3001.5503
四、下载好的文件进行解压和移动并建立"build"目录
unzip opencv-4.5.5.zip && \
unzip opencv_contrib-4.5.5.zip && \
unzip cache.zip && \
mv opencv_contrib-4.5.5 opencv-4.5.5 && \
mv cache opencv-4.5.5/.cache && \
cd opencv-4.5.5 && \
mkdir build
将目录放置到"/home/heqingchun/soft/AArch64"目录
cp -fr opencv-4.5.5 /home/heqingchun/soft/AArch64
五、构建编译
1.打开终端,配置
export PKG_CONFIG_PATH=/home/heqingchun/soft/AArch64/install/lib/pkgconfig:PKG_CONFIG_PATH
2.打开cmake-gui
cmake-gui
3.配置cmake
(1)
Where is the source code填写
/home/heqingchun/soft/AArch64/opencv-4.5.5
Where to build the binaries填写
/home/heqingchun/soft/AArch64/opencv-4.5.5/build
图:
(2)
点击Configure
在弹出窗口选择Unix Makefiles和Specify options for cross-compliling
点击Next
在弹出窗口填写选择
Target System
Operating System:Linux
Version:20.04
Processor:aarch64
Compilers
C:/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
C++:/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
Find Program/Library/Include
Target Root:/home/heqingchun/soft/AArch64/install “Program Mode”:Search in Target Root,then native system
Library Mode:Search only in Target Root “Include Mode”:Search only in Target Root
点击Finish
(3)
点击Add Entry
在弹出窗口填写选择
Name:OPENCV_ENABLE_PKG_CONFIG
Type:BOOL
Value:勾选上
Description:true
点击OK
(4)
再次点击Configure,可以看到ffmpeg模块都已经是YES
(5)修改一些配置
取消勾选WITH_TIFF
取消勾选WITH_WEBP
取消勾选WITH_GTK
取消勾选WITH_GSTREAMER
取消勾选WITH_1394
设置安装路径CMAKE_INSTALL_PREFIX
勾选BUILD_PNG
勾选WITH_PNG
勾选BUILD_opencv_world
勾选BUILD_JPEG
勾选BUILD_OPENJPEG
勾选WITH_JPEG
勾选WITH_OPENCVJPEG
(6)
点击Configure
点击Generate
(7)一些配置
cd /home/heqingchun/soft/AArch64/install/lib && \
sudo cp libav*.so* /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib && \
sudo cp libsw*.so* /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib && \
sudo cp libx264.so* /opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib
(8)make&make install
cd /home/heqingchun/soft/AArch64/opencv-4.5.5/build && \
make -j12 && \
make install
交叉编译带有ffmpeg选项opencv时参考:https://blog.csdn.net/yinshipin007/article/details/131464764
ubuntu系统下交叉编译OpenCV-带有ffmpeg模块及H264编码----完毕