Jetson NX Xavier 编译opencv4.4(cuda版)
创始人
2025-05-28 11:55:58
0

目录

  • *序言
  • 00|系统信息
  • 01|下载安装Jtop
  • 02|卸载自带的opencv
    • 2.1 为什么要卸载自带的opencv
    • 2.2 卸载默认的方法
    • 2.3 安装依赖库
  • 03|Nvidia预构建opencv-cuda4.5
  • 参考资料


*序言

大部分人在解决问题的时候,百度输入的关键词不够准确,展示出来的页面多数是跟自己用的系统版本不一致,导致安装失败。这点对于新手来说特别要注意,正如,你刚好看到我的文章,我希望你能在搜索时用 硬件 + 系统 + 要解决的问题 格式,说不定能提高你的检索效率。另外说一句,在2023年,有一款工具 ChatGPT 也是根据你提的问题回答。

00|系统信息

cat /etc/lsb-release

结果:

ISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.6 LTS"

01|下载安装Jtop

1、下载jtop源码

git clone https://github.com/rbonghi/jetson_stats.git

2、通过winscp传输到Jetson中,解压文件,进入jetson_stats文件夹

cd jetson_stats/
sudo python3 ./setup.py install

3、重启Jetson

4、运行top
在这里插入图片描述

5、按数字6,查看cuda有无
在这里插入图片描述

02|卸载自带的opencv

2.1 为什么要卸载自带的opencv

● 输入命令

jtop

● 按数字6查看INFO页面,可以看到

* OpenCV:   4.1.1   compiled CUDA:  NO

在这里插入图片描述

● 所以默认的 OpenCV 版本是不带 CUDA 加速的,无法充分利用 NX 的 GPU 性能

2.2 卸载默认的方法

sudo apt purge libopencv*
sudo apt autoremove
sudo apt update

2.3 安装依赖库

sudo apt install -y build-essential checkinstall cmake pkg-config yasm git gfortran
sudo apt update
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install -y libjpeg8-dev libjasper-dev libpng12-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libv4l-dev
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2.0-dev libtbb-dev libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev x264 v4l-utils
sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

安装过程中,如出现libjasper-dev, libpng12-dev定位不到软件包

sudo gedit /etc/apt/sources.list# 在文件末尾,添加下面的信息
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universesudo apt update
  • 编译参数

先在~/opencv4.4/opencv4.4.0目录下创建bulid目录并切换到build目录

mkdir build && cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DOPENCV_ENABLE_NONFREE=1 \
-DBUILD_opencv_python2=1 \
-DBUILD_opencv_python3=1 \
-DWITH_FFMPEG=1 \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
-DCUDA_ARCH_BIN=7.2 \
-DCUDA_ARCH_PTX=7.2 \
-DWITH_CUDA=1 \
-DENABLE_FAST_MATH=1 \
-DCUDA_FAST_MATH=1 \
-DWITH_CUBLAS=1 \
-DOPENCV_GENERATE_PKGCONFIG=1 \
-DOPENCV_EXTRA_MODULES_PATH=~/opencv4.4/opencv_contrib-4.4.0/modules \
..
sudo make -j$(nproc)
sudo make install
  • 卸载默认的方法
sudo make uninstallcd ..
sudo rm -rf build
pkg-config opencv --libs
pkg-config opencv --modversion

03|Nvidia预构建opencv-cuda4.5

通常来说,编译opencv少则半天,多则一天,甚至几天都搞不好。所以,在浏览信息时,意外找到一个Nvidia内部团队已经编译好的opencv-cuda4.5,则能为你省时省力。

3.1、下载预构建文件

OpenCV-4.5.0-aarch64.tar.gz下载链接: https://pan.baidu.com/s/1vDSlWr97TfSC9F7RrM0EEw?pwd=i32f 提取码: i32f

3.2、安装OpenCV-4.5.0-aarch64.tar.gz

tar -zxvf OpenCV-4.5.0-aarch64.tar.gz
cd OpenCV-4.5.0-aarch64
sudo dpkg -i *.deb

3.3、查看是否安装成功
打开任意一个终端,输入jtop,按数字6查看INFO页面,可以看到opencv那栏的CUDA,显示为YES。

参考资料

1、知乎:Jetson NX Xavier Opencv安装
2、知乎:官方隐藏资源:Jetson伪超频与CUDA版OpenCV

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...