在编译opencv出现的问题

目标机器:Jetson irno nano 4GB

操作系统:Ubuntu 22.04 LTS

ROS操作系统:ROS Humble

安装依赖库opencv4.10

一·流程:

1.在家目录下新建一个opencv的目录

bash 复制代码
mkdir opencv && cd opencv

2.检查相关工具是否安装成功

1.cmake 用于构建项目

2.git 用于克隆opencv4.10的源码

3.pkg-config 给cmake提供相关参数

bash 复制代码
sudo apt install build-essential cmake git pkg-config

3.安装相关依赖文件

1.能识别jpeg/png/tiff类型的图片

2.FFmpeg 多媒体框架,可以识别多种视频编码格式

3.Video4Linux 开发包,用于摄像头视频采集

4.Xvid (MPEG-4) 和 x264 (H.264) 编码器的开发包

5.数学优化库

6.gui显示功能

7.python接口

bash 复制代码
sudo apt install libjpeg-dev libpng-dev libtiff-dev
sudo apt install libavcodec-dev libavformat-dev libswscale-dev
sudo apt install libv4l-dev
sudo apt install libxvidcore-dev libx264-dev
sudo apt install libatlas-base-dev gfortran
sudo apt install libgtk-3-dev
sudo apt install python3-dev python3-numpy

4.克隆opencv源码

bash 复制代码
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

5.切换到我们需要的分支

bash 复制代码
cd opencv
git checkout 4.10.0
cd ../opencv_contrib
git checkout 4.10.0

6.开始编译

bash 复制代码
cd ~/opencv
mkdir build && cd build

7.使用cmake开始构建项目

1.CMAKE_BUILD_TYPE=Release → 使用优化构建;

2.CMAKE_INSTALL_PREFIX=/usr/local → 安装路径;

3.OPENCV_EXTRA_MODULES_PATH → 引入 opencv_contrib 扩展模块;

4.WITH_CUDA → 是否启用 GPU;

5.BUILD_EXAMPLES→ 是否构建一个例子;

6.WITH_TBB → 是否启用 TBB;tbb是并行线程模块,可以用在高并行的环境下运行

https://onestraw.github.io/cprogram/tbb/

7.WITH_OPENGL → 是否启用 OpenGL;OpenGL是一个图形渲染工具https://blog.csdn.net/CodeWorld1999/article/details/134700705

bash 复制代码
cmake -D CMAKE_BUILD_TYPE=Release \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
      -D BUILD_EXAMPLES=ON \
      -D WITH_CUDA=ON \
      -D WITH_TBB=ON \
      -D WITH_OPENGL=ON ..

8.开始编译环境

时间比较长--大概半个小时左右

bash 复制代码
make $(nproc)

9.安装到系统

bash 复制代码
sudo make install

10.验证安装

bash 复制代码
pkg-config --modversion opencv4

二·出现的问题

1.RAM不足

当我们使用make j$(nproc)命令时会默认调用系统所有的核心

但是会导致我们的RAM不足

复制代码
make j$(nproc)

这时候我们要虚拟内存

具体操作如下

bash 复制代码
sudo fallocate -l 10G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

我们可以使用free -h来检测是否虚拟成功

bash 复制代码
free -h

出现下面的证明安装成功

相关推荐
锵锵锵锵~蒋10 小时前
AI全托管处理EXCEL(并接入AI平台)
人工智能·excel·mcp·ai全托管·ai提效’
Flandern111110 小时前
Go程序员学习AI大模型项目实战02:给 AI 装上“大脑”:从配置解包到流式生成的深度拆解
人工智能·后端·python·学习·golang
weixin_5134499610 小时前
walk_these_ways项目学习记录第十篇(通过行为多样性 (MoB) 实现地形泛化)--从仿真到部署
人工智能·学习·算法
2501_9481142411 小时前
Claude Sonnet 4.6 深度评测:性能逼近 Opus、成本打骨折,附接入方案与选型指南
大数据·网络·人工智能·安全·架构
angleboy811 小时前
【原创】如何WIN 10/11系统下解决YOLOv13训练异常的安装指南
人工智能·深度学习·yolo
kobesdu11 小时前
ROS导航调参指南:机器人模型、TEB/DWA与Costmap全解析
人工智能·机器人·ros
沫儿笙11 小时前
库卡焊接机器人混合气节气装置
人工智能·机器人
ZhuNian的学习乐园11 小时前
LLM智能体调度:从ReAct到多智能体调度
人工智能·python·深度学习
沫儿笙11 小时前
弧焊机器人节气装置
人工智能·机器人
小超同学你好11 小时前
LangGraph 25. 实战:Agent资源优化怎么做?用 State 与条件边管理预算、取证与模型档位(附 SRE 分诊 demo)
人工智能·深度学习·语言模型