基于海鸥派板端的openCV移植说明
目录
开发环境为 Ubuntu 22.04 虚拟机,针对不同板端使用对应的交叉编译器:Linux/Ubuntu 板端使用 aarch64-mix210-linux,OpenEuler 板端使用 aarch64-openeuler-linux-gnu。
1. 依赖安装
sudo apt install cmake
sudo apt install cmake-gui2. 源码解压
unzip opencv-4.5.5.zip3. cmake-gui 配置
(1) 解压源码后,创建 build 目录,并进入该目录执行 cmake-gui 进行配置。

mkdir build
cd build
cmake-gui
(2) 配置 opencv 源码路径和编译路径 build。

(3) 配置编译器路径
根据板端操作系统不同,配置对应的交叉编译器路径。
①.Linux/Ubuntu 板端使用交叉编译工具 aarch64-mix210-linux
/opt/linux/x86-arm/aarch64-mix210-linux/bin/aarch64-mix210-linux-gcc
/opt/linux/x86-arm/aarch64-mix210-linux/bin/aarch64-mix210-linux-g++
/opt/linux/x86-arm/aarch64-mix210-linux/bin②.OpenEuler 板端使用交叉编译工具 aarch64-openeuler-linux-gnu
/opt/linux/x86-arm/openeuler_gcc_arm64le/bin/aarch64-openeuler-linux-gnu-gcc
/opt/linux/x86-arm/openeuler_gcc_arm64le/bin/aarch64-openeuler-linux-gnu-g++
/opt/linux/x86-arm/openeuler_gcc_arm64le/bin
(4) 完成以上设置后会自动编译一次。

(5) 根据下图操作,设置 CMAKE_CXX_FLAGS 和 CMAKE_C_FLAGS 的值为-O3 -fPIC -W -Wall,设置 CAMKE_EXE_LINKER_FLAGS 的值为-lpthread -lrt -ldl。

(6) 根据下图操作,勾选 zlib 编译。

(7) 设置安装路径为 build 目录下的 install。
/home/ebaina/Workspace/Projects/OPENCV/build/install
(8) opencv 功能开启配置建议,勾选 BUILD_opencv_world 即可只生成 libopencv_world 库文件,根据 下图操作完成配置。

(9) 编译报错预处理
①. png 库编译报错修改
opencv-4.5.5/3rdparty/libpng/pngpriv.h
原文件:
# if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
修改后:
# if defined(PNG_ARM_NEON) && (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \
②. gilbc 导致编译报错
#注意:编译器文件导致的报错,需以 sudo 权限操作。
sudo gedit /opt/linux/x86-arm/aarch64-mix210-linux/target/usr/include/features.h
原文件:
#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
修改后:
#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS+0 == 64)
(10)解决以上报错处理后即可执行 make 进行编译,编译完成后执行 make install 即可将生成的文件 安装到 build/install 目录。



4. MPP Sample 程序整合
整合后的代码:SS928V100_SDK_V2.0.2.2_MPP_Sample/src/opencv
(1) Makefile.param 新增 opencv 头文件路径
INCLUDES +=-I$(SAMPLE_DIR)/include/3rdparty/opencv4
(2) Makefile 编写
CFLAGS 中新增 opencv 的库路径,编译链接 opencv 的库,以及编译器修改为 C++的编译器。

(3) sample 编写
sample 中已经完成了 Mat 与 MPP frame 数据的转换,具体操作流程参考代码即可。

更多海鸥派资料教程: https://www.ebaina.com/ai/58
- 分享
- 举报
暂无数据-
浏览量:76次2026-04-10 15:56:39
-
浏览量:1769次2025-01-16 21:26:58
-
浏览量:821次2025-09-23 11:45:59
-
浏览量:41次2026-04-14 13:57:02
-
浏览量:5421次2023-04-12 16:05:14
-
浏览量:427次2026-02-28 19:51:27
-
浏览量:1868次2025-02-05 14:33:55
-
浏览量:10164次2020-11-26 16:37:03
-
浏览量:2464次2024-11-21 20:16:20
-
浏览量:2082次2025-02-05 13:58:48
-
浏览量:971次2026-02-28 19:35:10
-
浏览量:1112次2025-02-05 13:22:59
-
浏览量:8545次2021-01-06 17:58:59
-
浏览量:4996次2021-01-12 18:43:19
-
浏览量:933次2023-12-05 17:39:39
-
浏览量:2375次2023-07-21 17:25:16
-
2024-11-10 10:35:53
-
浏览量:1767次2024-07-15 18:31:13
-
浏览量:888次2025-09-15 15:30:08
- 【海思HI3520底层开发】Hi3520DV300增加 Nandflash并适应与V200评估板
- 基于HI3516/HI3518/HI3559内部ADC驱动实现
- 【海思内核驱动篇】-(4)eudev
- SS626开发环境搭建步骤介绍
- 如何让软件支持usb host和device自切换?
- [python opencv 计算机视觉零基础到实战] 二、 opencv文件格式与摄像头读取
- 一步步实现人脸识别<2>
- SS928系统增加内存方式(解析U-Boot和DDR)(干货篇)
- [python opencv 计算机视觉零基础到实战] 三、numpy与图像编辑
- 超高清 | 中国高动态范围视频标准HDR Vivid开始全面商用
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
易百纳技术社区
微信支付举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明

微信扫码分享
QQ好友