当前位置: 首页 > 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.jsqmd.com/news/48922/

相关文章:

  • 网页版RStudio跑Harmony总报错?可能是这个原因导致的
  • 递归算法如何分析复杂度?
  • 常用的文件摆渡系统:让数据安全高效跨越网络界限
  • 2025苏州最好的留学机构是哪家公司
  • 2025深圳英国留学中介有哪些机构
  • 2025南昌留学机构哪家好
  • 2025广州哪里有好的留学机构
  • 2025年托盘式不锈钢电缆桥架源头厂家权威推荐榜单:不锈钢电缆桥架/节能型桥架/聚氨酯管箱源头厂家精选
  • 2025北京正规出国留学机构排名
  • FTP传输工具推荐:2025年政企首选的国产文件传输解决方案
  • labview密码破解
  • 2025 拍立得电池怎么选?按场景选对不浪费!四大核心场景 + 十大品牌推荐,适配多机型
  • 2025年江苏saas小程序制作平台权威推荐榜单:江苏电商小程序定制服务/江苏小程序制作公司/江苏电商小程序服务商平台精选
  • 数据库索引重组与重建 - ufo233
  • 【前端小站】CSS 样式美学:从基础语法到界面精筑的实战宝典 - 实践
  • 2025年GEO公司综合实力排行榜:上饶大牛数据服务有限公司领跑行业
  • 本年口碑好的GEO品牌推荐
  • P1024 一三元次方程
  • springboot学习之注解(2)
  • 2025配置管理平台选型:如何破解CMDB建设痛点,从需求匹配到产品选型的实战指南
  • 2025欧洲留学机构十强有哪些
  • 2025南昌哪个留学中介信誉好
  • 2025广州哪家留学机构比较好一点
  • 2025大连靠谱留学机构
  • 社区新体验!一款基于 Golang + Vue 的开源社区系统!
  • 2025北京有多少家留学机构啊
  • 2025年性价比高的国产plc批发厂家权威推荐榜单:国产plc兼容西门子/国产plc平替西门子/国产plc源头厂家精选
  • 2025 年 11 月毛刷辊厂家权威推荐榜:工业/定做/清洁/纺织/钢制毛刷辊,耐磨高效与深度清洁的匠心之选
  • CF2157
  • 2025 年 11 月合肥搬家公司权威推荐榜:专业团队与贴心服务,覆盖包河区、蜀山区等全市范围,高效省心搬家首选