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

news2024/12/23 6:24:28

简介

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'

>>> 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1680558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

必应bing广告开户费用介绍,必应搜索广告推广开户服务!

微软必应Bing搜索引擎广告成为了企业提升品牌知名度与市场份额的有效途径之一&#xff0c;作为全球第二大搜索引擎&#xff0c;在中国市场正逐步展现出其独特的广告价值与潜力。对于希望拓展在线市场的中国企业而言&#xff0c;通过云衔科技开启必应Bing国内广告推广之旅&#…

谷歌外贸seo优化怎么做?

一般有两种选择&#xff0c;在大型电商平台开展业务&#xff0c;如亚马逊&#xff0c;阿里巴巴等平台&#xff0c;也可以选择搭建自己的独立站 选择在大型电商平台可以方便迅速建立起自己的商铺&#xff0c;不需要考虑太多交易&#xff0c;支付&#xff0c;物流等方面的问题&am…

2024.05.14 Diffusion 代码学习笔记

配环境 我个人用的是Geowizard的环境&#xff1a;https://github.com/fuxiao0719/GeoWizard。 出于方便考虑&#xff0c;用的pytorch官方的docker容器&#xff0c;因此python版本&#xff08;3.10&#xff09;和原作者&#xff08;3.9&#xff09;不同&#xff0c;其余都是一…

Java小游戏之汤姆猫

背景&#xff1a; 博主写过羊了个羊小游戏&#xff0c;客户觉得羊了个羊同学写过了&#xff0c;想换一个&#xff0c;于是笔者想到了汤姆猫。就是那个以前在苹果手机上的猫。 过程&#xff1a; 初始会有一个猫的图片展示&#xff0c;然后你点击按钮&#xff0c;猫会有不同动作…

力扣刷题 day2

快乐数 202. 快乐数 - 力扣&#xff08;LeetCode&#xff09;   图: java // 快乐数 --> 19 > 1^2 9 ^2 82 > 82 > 8 ^ 2 2 ^ 2 ......public boolean isHappy(int n) {// 使用快慢指针int slow n, fast getSum(n);while (slow ! fast) {slow getSum(slo…

【Day3:JAVA运算符、方法的介绍】

目录 1、运算符1.1 赋值运算符1.2 比较运算符1.3 逻辑运算符1.3.1 逻辑运算符概述1.3.2 逻辑运算符分类1.3.3 短路的逻辑运算符 1.4 三元运算符1.5 运算符优先级 2、方法2.1 方法介绍2.2 方法的定义和调用格式2.2.1 方法的调用2.2.2 带参数方法的调用2.2.3 带返回值方法的调用2…

Zookeeper and RPC dubbo

javaguide zookeeper面试题 Zookeeper 啥是Zookeeper干啥的 ZooKeeper 可以被用作注册中心、分布式锁&#xff1b; ZooKeeper 是 Hadoop 生态系统的一员&#xff1b; 构建 ZooKeeper 集群的时候&#xff0c;使用的服务器最好是奇数台。 启动ZK 下载安装解压 不过多赘述 我的…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.7讲 GPIO中断实验-编写按键中断驱动

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

luceda ipkiss教程 66:金属线的钝角转弯

案例分享&#xff1a;金属线的135度转弯&#xff1a; 所有代码如下&#xff1a; from si_fab import all as pdk import ipkiss3.all as i3 from ipkiss.geometry.shape_modifier import __ShapeModifierAutoOpenClosed__ from numpy import sqrtclass ShapeManhattanStub(__…

使用Rufus制作Ubuntu启动盘(windows同理)

问题 想要做系统&#xff0c;首先需要做启动盘&#xff0c;使用Rufus做启动盘操作简单。 解决 1.下载Rufus 这个软件免费的一搜便是&#xff0c;这里下载&#xff1a;Rufus - 轻松创建 USB 启动盘。下载完成后即点即用1无需安装。 打开 2.下载Ubuntu镜像 下载地址&#xff…

Flowable配置多数据源以及指定schema

异常反馈 如有问题可通过微信公众号“假装正经的程序员”反馈 为什么要多源 在项目的实际开发过程中通常会有两种常见的使用Flowable的方式&#xff0c;一种是以独立的服务提供工作流的能力&#xff0c;另一种是以Jar包的形式进行内部集成。 这两种方式各有利弊&#xff0c;…

暴力数据结构之二叉树(堆的相关知识)

1. 堆的基本了解 堆&#xff08;heap&#xff09;是计算机科学中一种特殊的数据结构&#xff0c;通常被视为一个完全二叉树&#xff0c;并且可以用数组来存储。堆的主要应用是在一组变化频繁&#xff08;增删查改的频率较高&#xff09;的数据集中查找最值。堆分为大根堆和小根…

购买商用ssl证书并在windows服务器IIS上配置https域名(案例为阿里云)

阿里云、华为云等各路云都有ssl证书购买&#xff0c;价格相差不大&#xff0c;操作也都差不多&#xff0c;请自行选择。 本文以阿里云操作为案例。 购买SSL证书 点击购买 付款买入 注意&#xff0c;如果自己搞起来有问题&#xff0c;阿里购买的时候建议选择申请协助服务。购买…

抖店商品详情API接口(店铺|标题|主图|价格|SKU属性等)

抖店商品详情API接口(店铺|标题|主图|价格|SKU属性等) 抖店商品详情API接口是指通过调用抖音开放平台提供的接口&#xff0c;获取抖店上商品的详细信息的方法。 抖店开放平台提供了一系列的接口&#xff0c;可以用于获取商品的基本信息、价格、库存、销量、评价等各种信息。以…

Python 全栈体系【四阶】(四十四)

第五章 深度学习 九、图像分割 3. 常用模型 3.4 DeepLab 系列 3.4.3 DeepLab v3&#xff08;2017&#xff09; 在DeepLab v3中&#xff0c;主要进行了以下改进&#xff1a; 使用更深的网络结构&#xff0c;以及串联不同膨胀率的空洞卷积&#xff0c;来获取更多的上下文信…

利用管道通信(pipe)测量进程间的上下文切换(context switch)开销

利用管道通信(pipe)测量进程间的上下文切换(context switch)开销 《https://pages.cs.wisc.edu/~remzi/OSTEP/cpu-mechanisms.pdf》 Measuring the cost of a context switch is a little trickier. The lmbench benchmark does so by running two processes on a single CPU…

【LabVIEW FPGA入门】NI 环境安装教程

注意&#xff1a;安装软件之前关闭杀毒软件&#xff0c;避免安装时损坏&#xff0c;安装完成在使用杀毒软件。 步骤1&#xff1a;判断自己是否需要LabVIEW 编程。 下面这几种情况可以调过安装LabVIEW&#xff1a; 不需要LabVIEW或其他语言编程&#xff0c;直接在MAX或仪器软面板…

短视频素材该去哪里找?分享8个短视频剪辑必备的素材大全

在短视频创作与运营中&#xff0c;素材的找寻常常成为创作者的最头疼的事&#xff0c;因为它既要求不侵犯版权&#xff0c;又追求内容的优质性。然而&#xff0c;今天我要为大家揭晓一些剪辑短视频素材库的宝藏网站&#xff0c;它们将成为你创作旅程中的得力帮手&#xff0c;让…

动态手势识别(VGG11)

学校的大作业要做一个视频图像处理相关的&#xff0c;就做了动态手势识别 VGG代码 import torch import torch.nn as nnclass VGG_11_3D(nn.Module):def __init__(self, num_classes, pretrainedFalse):super(VGG_11_3D, self).__init__()self.conv1 nn.Conv3d(3, 64, kernel…

猫狗分类识别①将文件夹中图像统一转化为某一固定格式

一、 导入库 pip install Image 二、确保库中存在Image库&#xff0c;可以在Terminal或控制台中查看 pip list 三、图像后缀处理 import os from PIL import Image def convert_to_png(input_folder, output_folder):if not os.path.exists(output_folder):os.makedirs(outp…