目录
- *序言
- 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