在编译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 小时前
光影魔术师:CANN加速实时图像风格迁移,让每张照片秒变大师画作
人工智能·aigc·cann
腾讯云开发者11 小时前
“痛点”到“通点”!一份让 AI 真正落地产生真金白银的实战指南
人工智能
CareyWYR11 小时前
每周AI论文速递(260202-260206)
人工智能
hopsky12 小时前
大模型生成PPT的技术原理
人工智能
禁默13 小时前
打通 AI 与信号处理的“任督二脉”:Ascend SIP Boost 加速库深度实战
人工智能·信号处理·cann
心疼你的一切13 小时前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
AI绘画哇哒哒13 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
数据分析能量站13 小时前
Clawdbot(现名Moltbot)-现状分析
人工智能
那个村的李富贵13 小时前
CANN加速下的AIGC“即时翻译”:AI语音克隆与实时变声实战
人工智能·算法·aigc·cann
二十雨辰13 小时前
[python]-AI大模型
开发语言·人工智能·python