一、arm架构下opencv库的编译——使用rk3588芯片的交叉编译工具链:
- 在ubuntu buildroot sdk下使用交叉编译工具链编译opencv主库,很简单,没啥复杂依赖容易成功;
- 在ubuntu buildroot sdk下使用交叉编译工具链编译opencv主库和opencv贡献库,就比较复杂,大概率失败;贡献库需要编译freetype libharfzz等源码,需要联网下载,失败;
- 很多模块,不需要,就可以在编译选项指定OFF,跳过该模块的编译;
- opencv贡献库的推荐编译方式:在buildroot sdk下面编译,dl融入了,编译的好一些;
- 2025/1/2已完成:buildroot的编译;opencv也一起编译了,但没有编译贡献库;
- TODO:只去编译opencv即可,不用去编译整个buildroot了;
- TODO:去看看opencv+NEON选项后,有哪些改变?
二、opencv+neon选项
-
-DENABLE_NEON=OFF
① 禁用 NEON SIMD 指令集支持。
② 如果目标 ARM 设备支持 NEON(如 Cortex-A 系列),建议设置为ON
,可以显著提升性能。禁用可能是因为目标设备不支持 NEON,或者因为编译器兼容性问题 -
-DENABLE_VFPV3=OFF
禁用 VFPv3 浮点加速。
①
②VFP 是 ARM 的浮点运算指令集,若硬件支持建议启用以提升浮点计算效率。 -
-DWITH_OPENCL=OFF
禁用 OpenCL 支持。
①
②OpenCL 用于 GPU 加速,但由于某些嵌入式设备(如 RV1126)可能不支持 OpenCL,因此将其关闭。