当前位置:   article > 正文

Nvidia Jetson编译安装Opencv With CUDA,完善GSTREAMER功能_jetson opencv

jetson opencv

简介

Nvidia Jetson 官方刷机流程结束以后,虽然安装了opencv,但是此版本是CPU版本,并且不包含Cpp版本。如果想要完整的OpenCV支持,需要从源码编译。本文介绍如何下载编译,并安装OPENCV库,并获得完整的CUDA和gstreamer支持。本教程适同时用于PC以及Jetson端。

下载

本教程使用的Jetpack版本是5.1.1dev,对应的OPENCV版本是4.5.4。去github下载对应的版本源码。要将opencv和contrib一并下载。下载后,将contrib解压在opencv目录下。

https://github.com/opencv/opencv/releases
https://github.com/opencv/opencv_contrib/tags?after=3.4.17
  • 1
  • 2

opencv
opencv-contrib

编译安装

 cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.4/modules \
    -D WITH_CUDA=1 \
    -D BUILD_opencv_python3=1 \
    -D BUILD_opencv_python2=0 \
    -D WITH_FFMPEG=1 \
    -D WITH_V4L=ON \
    -D WITH_QT=ON \
    -D WITH_OPENGL=ON \
    -D ENABLE_FAST_MATH=1 \
    -D CUDA_FAST_MATH=1 \
    -D WITH_CUBLAS=1 \
    -D OPENCV_GENERATE_PKGCONFIG=1 \
    -D WITH_GTK_2_X=ON \
    -D WITH_GSTREAMER=ON \
    ..

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

由于系统中默认没有安装python2,所以这一选项关闭。WITH_GSTREAMER=ON打开gstreamer功能。WITH_CUDA=1与CUDA进行编译。OPENCV_EXTRA_MODULES_PATH指定contrib包路径,个人习惯放在opencv项目目录下。配置完成后编译:

make -j16
  • 1

如果过编译顺利,则进行安装

sudo make install
  • 1

验证

  • Jetson专有
    sudo jtop之后,在INFO标签栏opencv一栏显示绿色Yes。
    jtop
  • 通用
    进入python解释器,验证opencv是否包含cuda设备:
import cv2
print(cv2.cuda.printCudaDeviceInfo(0))
  • 1
  • 2

如果安装成功,则会显示cuda版本以及硬件参数在内的十分详细的信息。
在这里插入图片描述

如果失败则会如下所示:

>>> print(cv2.cuda.printCudaDeviceInfo(0))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
cv2.error: OpenCV(4.9.0) /io/opencv/modules/core/include/opencv2/core/private.cuda.hpp:106: error: (-216:No CUDA support) The library is compiled without CUDA support in function 'throw_no_cuda'

>>> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/839904
推荐阅读
相关标签
  

闽ICP备14008679号