在编译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

出现下面的证明安装成功

相关推荐
dazzle19 分钟前
计算机视觉处理(OpenCV基础教学(十九):图像轮廓特征查找技术详解)
人工智能·opencv·计算机视觉
拌面jiang20 分钟前
过拟合--Overfitting(#拌面)
人工智能·深度学习·机器学习
MM_MS26 分钟前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
桂花饼30 分钟前
基于第三方中转的高效 Sora-2 接口集成方案
人工智能·aigc·ai视频生成·gemini 3 pro·gpt-5.2·ai绘画4k·sora_video2
golang学习记34 分钟前
Zed 编辑器的 6 个隐藏技巧:提升开发效率的「冷知识」整理
人工智能
武汉大学-王浩宇43 分钟前
LLaMa-Factory的继续训练(Resume Training)
人工智能·机器学习
weisian1511 小时前
入门篇--知名企业-28-字节跳动-2--字节跳动的AI宇宙:从技术赋能到生态共建的深度布局
人工智能·字节跳动·扣子·豆包
NGBQ121381 小时前
原创餐饮店铺图片数据集:344张高质量店铺图像助力商业空间识别与智能分析的专业数据集
人工智能
FIT2CLOUD飞致云1 小时前
应用升级为智能体,模板中心上线,MaxKB开源企业级智能体平台v2.5.0版本发布
人工智能·ai·开源·1panel·maxkb
haiyu_y1 小时前
Day 58 经典时序模型 2(ARIMA / 季节性 / 残差诊断)
人工智能·深度学习·ar