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

出现下面的证明安装成功

相关推荐
AI technophile1 天前
OpenCV计算机视觉实战(28)——深度学习初体验
深度学习·opencv·计算机视觉
hixiong1231 天前
C# OpencvSharp使用lpd_yunet进行车牌检测
开发语言·opencv·计算机视觉·c#
闻缺陷则喜何志丹1 天前
【超音速专利 CN118134841A】一种光伏产品缺陷检测AI深度学习算法
人工智能·深度学习·算法·专利·光伏·超音速
Coovally AI模型快速验证1 天前
超越传统3D生成:OccScene实现感知与生成的跨任务共赢
人工智能·深度学习·机器学习·计算机视觉·3d·目标跟踪
AiTop1001 天前
美团LongCat-Flash-Omni上线:5600亿参数实现音视频交互“零延迟”
人工智能·ai·aigc·音视频·交互
IT_陈寒1 天前
Vite 5震撼发布!10个新特性让你的开发效率飙升200% 🚀
前端·人工智能·后端
万俟淋曦1 天前
NVIDIA DriveOS 推动新一代智能汽车实现突破
人工智能·ai·汽车·nvidia·智能汽车·driveos·driveworks
rengang661 天前
14-循环神经网络(RNN):分析RNN在序列数据中的表现和特点
人工智能·rnn·深度学习
Toky丶1 天前
具身智能(一)关于VLA模型π0
人工智能
岛屿旅人1 天前
英国国防部推进本土化开放架构建设
网络·人工智能·安全·web安全·架构