前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jetson Xavier NX 安装 opencv with cuda

Jetson Xavier NX 安装 opencv with cuda

原创
作者头像
Librant
修改2024-06-30 12:21:27
5100
修改2024-06-30 12:21:27
举报
文章被收录于专栏:带你玩转Jetson系列教程

1 卸载默认安装的 opencv

默认使用 jetpack 安装的 opencv 是没有 cuda 加速的,无法充分利用 Jetson 的 GPU 性能;

通过 jetson_release -v 命令进行查看:

1.1 查看 安装的 opencv 版本信息:

代码语言:bash
复制
opencv_version

1.2 查看安装的 jetpack 版本和组件信息:

代码语言:bash
复制
jetson_release -v

1.3 先卸载默认的 opencv 版本:

代码语言:bash
复制
apt purge libopencv*
apt autoremove
apt update

2 编译安装 openCV

默认安装的 opencv 的版本:4.9.0 版本;

在安装之前,请切换到 root 用户,避免安装中的权限问题;

2.1 安装编译需要的依赖库

代码语言:bash
复制
apt install -y build-essential checkinstall cmake pkg-config yasm git gfortran
apt install -y libjpeg8-dev libjasper-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine2-dev libv4l-dev
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
apt install python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev

libjasper-dev:这个包在安装过程中可能会报错,删除这个包后重新安装;

2.2 编译安装 openCV 和 opencv_contrib

(目前 opencv 最新版本为 4.10.0 版本,可以根据需要安装最新版本)

opencv 版本和 opencv_contrib 版本需要对应;

1)下载源码:

opencv 源码地址:https://github.com/opencv/opencv/archive/refs/tags/4.9.0.tar.gz

opencv_contrib 源码地址:https://github.com/opencv/opencv_contrib/archive/refs/tags/4.9.0.tar.gz

代码语言:bash
复制
wget https://github.com/opencv/opencv/archive/refs/tags/4.9.0.tar.gz
mv 4.9.0.tar.gz opencv-4.9.0.tar.gz
wget https://github.com/opencv/opencv_contrib/archive/refs/tags/4.9.0.tar.gz
mv 4.9.0.tar.gz opencv_contrib-4.9.0.tar.gz

2) 解压源码:

代码语言:bash
复制
mkdir opencv-4.9.0
tar -zxf opencv-4.9.0.tar.gz -C opencv-4.9.0
mkdir opencv_contrib-4.9.0
tar -zxf opencv_contrib-4.9.0.tar.gz -C opencv_contrib-4.9.0

3)进入 opencv-4.9.0 目录,创建 build 目录:

代码语言:bash
复制
cd opencv-4.9.0
mkdir build
cd build

4) 执行 cmake:

需要进行适配的地方:

- 修改 CUDA_ARCH_BIN CUDA_ARCH_PTX 的版本,这个在第一步中 通过 jetson_release -v 命令可以查看;

- 修改 OPENCV_EXTRA_MODULES_PATH 路径值,填写 opencv_contrib 包解压的路径值;

代码语言:bash
复制
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=../../opencv_contrib-4.9.0/modules \
..

等待执行完成;

5)编译安装:

查看线程数:

代码语言:bash
复制
cat /proc/stat | grep cpu[0-9] -c

根据线程数,设置 -j 的值:

代码语言:bash
复制
make -j6

等待编译完成,进行安装:

代码语言:bash
复制
make install

6)查看安装完成后,查看是否安装成功:

如果安装完成之后,这里显示 YES,则表示安装成功;

【参考文档】

1) https://www.jianshu.com/p/fb06c130b11f

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 卸载默认安装的 opencv
    • 1.1 查看 安装的 opencv 版本信息:
      • 1.2 查看安装的 jetpack 版本和组件信息:
        • 1.3 先卸载默认的 opencv 版本:
        • 2 编译安装 openCV
          • 2.1 安装编译需要的依赖库
            • 2.2 编译安装 openCV 和 opencv_contrib
              • 1)下载源码:
              • 2) 解压源码:
              • 3)进入 opencv-4.9.0 目录,创建 build 目录:
              • 4) 执行 cmake:
              • 5)编译安装:
              • 6)查看安装完成后,查看是否安装成功:
              • 【参考文档】
          相关产品与服务
          GPU 云服务器
          GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档