当前位置: 首页 > news >正文

在编译opencv出现的问题

目标机器:Jetson irno nano 4GB

操作系统:Ubuntu 22.04 LTS

ROS操作系统:ROS Humble

安装依赖库opencv4.10

一·流程:

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

mkdir opencv && cd opencv

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

1.cmake 用于构建项目

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

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

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接口

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源码

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

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

cd opencv
git checkout 4.10.0
cd ../opencv_contrib
git checkout 4.10.0

6.开始编译

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

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.开始编译环境

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

make $(nproc)

9.安装到系统

sudo make install

10.验证安装

pkg-config --modversion opencv4

二·出现的问题

1.RAM不足

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

但是会导致我们的RAM不足

make j$(nproc)

这时候我们要虚拟内存

具体操作如下

sudo fallocate -l 10G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

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

free -h

出现下面的证明安装成功

http://www.dtcms.com/a/482553.html

相关文章:

  • 如何安装 NDP48-x86-x64-AllOS-ENU.exe | .NET Framework 4.8 离线安装教程
  • 做网站意向客户如何写一个微信小程序
  • K8s 命令速查表:按场景分类,含实战示例
  • trade ai编辑器使用规范
  • 基于单片机的噪声波形检测与分贝测量仪设计
  • Redis布隆过滤器能设置过期时间吗
  • 衡阳网站定制小企网站建设解决方案
  • java微服务-尚医通-编写医院设置接口下
  • 教做网站的学校做网站公司需要准备资料
  • 《设计模式》
  • 不/可重入函数
  • 前端性能优化?
  • 快应用TypeError: The ‘compilation‘ argument must be an instance of Compilation错误
  • php网站开发实用技术练习题网站源码整站打包
  • vue前端面试题——记录一次面试当中遇到的题(7)
  • 算法9.0
  • 商丘哪里做网站网页加速器怎么开
  • 未来之窗昭和仙君(十九)商用虚拟数字金额键盘——东方仙盟筑基期
  • 每日小知识点:10.14 webpack 有几种文件指纹
  • 怎样撰写企业网站建设方案wordpress主题layui
  • 地区性门户网站是什么意思阿里云做网站可以吗
  • 怎样批量在图片上加12345的数字编号?实用教程分享
  • 【avalonia教程】10数据绑定语法格式
  • 图像分类数据集难度怎么评?
  • 管理系统有哪些布局框架,比如左右,上下,F型号,T型等
  • 设计网站意味着什么如何用手机制作app
  • 网站跳出率 查询免费建立自己喜欢的
  • 纵向合并和横向合并工作表的思路
  • 图像锐化的魔法棒:深入浅出理解USM锐化算法
  • PHP网站开发都需要学什么做网站用什么电脑配置