当前位置: 首页 > news >正文

安装一个为RK3588S优化的、启用了OpenCL (GPU加速) 和 NEON (CPU加速) 的OpenCV 4.10版本。

第1步:环境准备与系统加固

这是最重要的一步,为后续所有操作打下稳定基础。

锁定Mali GPU驱动 (防止“变砖”):新烧录的系统,第一件事就是锁定厂商提供的GPU驱动,防止apt upgrade将其覆盖导致GPU硬件加速失效(退化成llvmpipe)。

# 查找驱动包
dpkg -l | grep -i mali
# 锁定驱动包 (根据查找到的包名)
sudo apt-mark hold libmali-valhall-g610-g13p0-x11-gbm
sudo apt-mark hold libmali-valhall-g610-g13p0-x11-gbm-dbgsym

安装编译所需的依赖包:安装一系列编译工具、图像视频处理库和优化库。

sudo apt update
sudo apt install -y build-essential cmake git pkg-config
sudo apt install -y libjpeg-dev libpng-dev libtiff-dev libwebp-dev
sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt install -y libgtk-3-dev
sudo apt install -y libatlas-base-dev gfortran python3-dev python3-numpy

第2步:获取OpenCV源码 (稳定可靠的方式)

由于网络问题,git clone常常失败。我们采用最稳定的wget直接下载源码包的方式。

创建工作目录

mkdir ~/opencv_build && cd ~/opencv_build

下载源码压缩包

注意,可在其他电脑下载后通过MobaXterm拖动到指定文件夹

wget -O opencv.zip https://github.com/opencv/opencv/archive/refs/tags/4.10.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/refs/tags/4.10.0.zip

解压并重命名

unzip opencv.zip
unzip opencv_contrib.zip # 如果是从电脑拷贝的,文件名可能不同
mv opencv-4.10.0 opencv
mv opencv_contrib-4.10.0 opencv_contrib

第3步:CMake编译配置 (最核心、最关键的步骤)

这一步决定了我们最终编译出来的OpenCV具备哪些功能。

进入编译目录

cd ~/opencv_build/opencv
mkdir build && cd build

执行最终的配置命令:这个命令经过我们多次调整,禁用了所有会引起依赖问题或网络下载问题的非必要模块 (wechat_qrcode, face, sfm, xfeatures2d)。

cmake -D CMAKE_BUILD_TYPE=RELEASE \-D CMAKE_INSTALL_PREFIX=/usr/local \-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \-D PYTHON3_EXECUTABLE=$(which python3) \-D ENABLE_NEON=ON \-D WITH_OPENCL=ON \-D OPENCV_GENERATE_PKGCONFIG=ON \-D BUILD_EXAMPLES=OFF \-D INSTALL_C_EXAMPLES=OFF \-D INSTALL_PYTHON_EXAMPLES=OFF \-D BUILD_opencv_wechat_qrcode=OFF \-D BUILD_opencv_face=OFF \-D BUILD_opencv_sfm=OFF \-D BUILD_opencv_xfeatures2d=OFF \..

第4步:编译 (最耗时、最考验耐心的步骤)

编译过程非常消耗系统资源,特别是内存。

解决内存不足问题:RK3588S虽然有8核,但全速编译会导致内存耗尽而被系统“杀死”。我们通过减少并行任务数来解决。

# 不要使用 make -j8 或 make -j$(nproc)
# 而是使用一个更小的数字
make -j4
  • 耐心等待:编译过程会持续一个小时左右,尤其在最后链接opencv_python3模块时,看起来会像“卡住”一样,这是正常现象。

第5步:安装与收尾

安装到系统:将编译好的文件复制到系统目录。

sudo make install

更新动态链接库缓存:让系统能立刻找到新安装的库。

sudo ldconfig

第6步:验证安装成果

通过多种方式确认安装成功且功能正常。

C++环境验证

pkg-config --modversion opencv4
# 期望输出: 4.10.0

Python环境验证 (最重要)

python3
>>> import cv2
>>> print(cv2.__version__)
# 期望输出: 4.10.0
>>> print(cv2.ocl.haveOpenCL())
# 期望输出: True
>>> exit()

核心要点与避坑指南

  • 先锁定驱动,再动apt:这是保证GPU硬件加速不丢失的生命线。
  • 网络不好,wget是王道git clone cmake 中的下载步骤是网络问题的重灾区,直接下载zip包最稳妥。
  • 按需编译,果断裁剪:对于不需要的、会引起问题的模块(如wechat_qrcode, sfm等),在cmake阶段果断用 -D BUILD_...=OFF 禁用,可以规避大量错误。
  • 内存不足,降低并行:在嵌入式板子上编译大型项目,“Killed”信号基本就是内存不足,降低 -j 后面的数字是标准解法。
http://www.gsyq.cn/news/58726.html

相关文章:

  • 递归算法如何分析复杂度?
  • 2025南昌留学机构哪家好
  • 2025广州哪里有好的留学机构
  • FTP传输工具推荐:2025年政企首选的国产文件传输解决方案
  • 2025 拍立得电池怎么选?按场景选对不浪费!四大核心场景 + 十大品牌推荐,适配多机型
  • 数据库索引重组与重建 - ufo233
  • P1024 一三元次方程
  • 2025北京有多少家留学机构啊
  • 2025 年 11 月毛刷辊厂家权威推荐榜:工业/定做/清洁/纺织/钢制毛刷辊,耐磨高效与深度清洁的匠心之选
  • 2025 年 11 月合肥搬家公司权威推荐榜:专业团队与贴心服务,覆盖包河区、蜀山区等全市范围,高效省心搬家首选
  • Dexie.js 使用教程
  • 2025深圳美国留学机构排名前十
  • Web 常见名词解释
  • 2025年山东连栋玻璃温室公司权威推荐榜单:玻璃智能温室/玻璃连栋温室/玻璃温室设计源头公司精选
  • AI SDK:重新定义 AI 应用开发
  • 20232410 2025-2026-1 《网络与系统攻防技术》实验七实验报告
  • 主流开源JS地图框架选择
  • PHP 8.5 在性能、调试和运维方面的新特性
  • 完整教程:2025年接单经验和软件外包平台一览
  • 2025年最新国际货运代理公司实力推荐榜:全链路服务力到行业口碑深度评估
  • 完整教程:AI超级智能体项目中的多模型集成实践:挑战、架构与代码详解
  • 【URP】Unity[相机]渲染类型
  • 20251028在荣品RD-RK3588-MID开发板的Android13系统下解决关机的时候最近打开的应用不关的难题
  • 实验4 NoSQL和关系数据库的操作比较
  • 构建卓越开发者体验的核心原则
  • 上周热点回顾(11.17
  • 详细介绍:MySQL-8.0.43 免安装版保姆教程
  • 【GitHub每日速递 20251124】超神!verl助力大语言模型强化学习,多项特性引领行业新潮流
  • 【STM32工程开源】STM32单片机智能台灯系统
  • 2025年评价高的隧道炉工业级大功率厂家最新推荐权威榜