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

简介

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

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 \
    ..

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

make -j16

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

sudo make install

验证

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

如果安装成功,则会显示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'

>>> 
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值