背景:在rv1126开发板中实现视频图像处理等操作,因此需要用到opencv。rv1126使用的是buildroot系统,故需要在主机中交叉编译opencv+ffmpeg+x264,再移植到rv1126中。
折腾了两周失败过无数次,终于成功了。以下记录本人成功安装的方式,希望对大家有所帮助
目录
一、环境及安装包版本介绍:
由于opencv需要读取视频文件的能力,因此需要一些视频依赖包(ffmpeg+x264)。环境及包参考以下:
ubuntu22.04 + cmake:3.22.1 + opencv:4.5.3 + ffmpeg:4.1.3 + x264 + 交叉编译工具:arm-linux-gnueabihf
二、安装包下载与配置
(1) 交叉编译工具
购买开发板时厂家一般会提供资料包,实在没有也可以通过以下方式安装
- 解压:
xz -d gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
tar -xvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar
- 设置环境变量:
sudo vi ~/.bashrc //编辑bash
export PATH=/home/xxxx/install/rv1126/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin:$PATH //将此行添加到bash的最后,注意路径要改成自己的
source ~/.bashrc //重新执行刚修改的bash文件,使之立即生效
- 查看是否安装成功:arm-linux-gnueabihf-g++ --version
(2) cmake安装
sudo apt-get install cmake
(3) x264安装
- 下载
git clone https://code.videolan.org/videolan/x264.git
cd x264
- 配置编译参数
#!/bin/bash
# 设置工具链路径
TOOLCHAIN_PATH=/home/xxxx/install/rv1126/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf
GCC_COMPILER=${TOOLCHAIN_PATH}/bin/arm-linux-gnueabihf
# 设置x264安装路径
X264_INSTALL_DIR=/home/xxxx/install/arm1126/x264
# 配置交叉编译选项,直接指定 C 和 C++ 编译器
./configure --prefix=${X264_INSTALL_DIR} \
--cross-prefix=${GCC_COMPILER}- \
--cc=${GCC_COMPILER}-gcc \
--cxx=${GCC_COMPILER}-g++ \
--host=arm-linux \
--enable-cross-compile \
--enable-shared \
--disable-static \
--enable-pic \
--extra-cflags="-g -I${TOOLCHAIN_PATH}/include" \
--extra-ldflags="-L${TOOLCHAIN_PATH}/lib"
配置后显示: