Jetson 相机编码

news2024/9/22 1:39:09

Jetson 相机编码

Jetson相机编码是即将发布的“实践”系列的相关代码。有三个存储库:

1. camera-caps

JetsonHacks Github存储库camera-caps 通过v4l2-ctl命令行工具提供了一个图形用户界面。您可能会发现,它可以方便地检查连接到Jetson上的V4L2相机的功能。这适用于CSI相机和USB相机。

这个应用程序是一个简单的软件草图,用来支持演示。它没有完全的特性,当然也不是产品质量的代码,但是您可能会发现它对您自己的研究和实验很有用。在NVIDIA Jetson系列产品中,连接的相机通常通过V4L2模块。USB摄像头通过与v4l2模块接口的uvcvideo模块连接。通过CSI/MIPI端口连接的摄像头(如树莓Pi摄像头、GMSL摄像头)与tegra-video模块连接,tegra-video模块又与v4l2模块连接。当连接到正确安装的驱动程序时,连接的摄像头显示为/dev/videoX(其中X是ID号)。正确连接和注册后,可以使用v4l2-ctl实用程序检查摄像机的属性。这包括可用的像素格式、帧大小、帧速率和属性。有调节相机属性的控件。GUI提供了一个统一视图:

在这里插入图片描述

并非所有相机都提供V4L2接口。有些相机具有不通过V4L2暴露的专有接口。

1.1 安装

$ sudo apt update
$ sudo apt install python3-pip
$ pip3 install dataclasses

# Install v4l2-ctl

$ sudo apt install v4l-utils

1.2 运行程序

在运行程序之前,首先确保要检查的摄像机已连接。该程序不检测动态附件。如果您插/拔摄像头,请重新启动程序。还要注意,USB摄像头在其/dev/videoX名称中没有一个保证地址。换句话说,当机器重新启动或添加其他摄像头时,地址可能会更改。运行:

$ python3 camera_caps.py

预览按钮尝试构建GStreamer管道并在预览窗口中运行它。预览窗口的大小不是视频图像的完整大小。

  • JetPack 4.6, L4T 32.6.1
  • Jetson Nano, Jetson Xavier NX的测试-其他Jetsons应该可以工作

链接:https://pan.baidu.com/s/1KZfxLNfa-qEEvkbCoObv2Q?pwd=xae6
提取码:xae6

2. USB-Camera

USB-Camera是一个Github存储库,其中有使用V4L2相机和Jetson开发工具包的示例Python脚本。这些示例使用OpenCV(包括在JetPack中)捕获摄像机并将其显示在屏幕上。一个例子展示了如何使用V4L2相机前端与相机连接。另一个例子使用GStreamer前端与摄像机连接。GStreamer在Jetson生态系统中非常重要,因为它为DeepStream智能视频分析(IVA)提供了基础。

第三个例子使用Haar级联来检测人脸和眼睛。这是一个如何从相机获取视频帧并处理它们的示例。

3. CSI-Camera

另一种将相机与Jetson连接的方法是通过MIPI相机串行接口(CSI)。MIPI是发布嵌入式系统标准的组织名称。CSI-Camera代码是对早期JetsonHacks文章Jetson Nano + Raspberry Pi Camera和 Jetson Nano B01 – Dual Raspberry Pi Cameras的更新。

为了获得更好的帧率,GStreamer管道进行了精简。我们还向Python代码添加异常处理,以及一些其他的清理,以使代码更加健壮。

BONUS

jetsonUtilities拥有与NVIDIA Jetson开发工具包一起工作的实用程序。

在NVIDIA Jetson开发套件(TX1, TX2, AGX Xavier, Xavier NX, Nano, Nano 2GB)上获取有关NVIDIA Jetson操作系统环境的信息

关于NVIDIA Jetson Development Kit操作系统的信息分布在几个文件中。这是一个方便的参考工具。

Python脚本jetsoninfo.py将列出硬件、正在运行的L4T版本、Ubuntu版本和Linux内核版本。执行:

$ python3 jetsonInfo.py

硬件指示符源自文件:/proc/cpuinfo

L4T版本源自文件:/etc/nv_tegra_release

Ubuntu版本源自文件:/etc/os-release

Linux内核版本源自文件:/proc/version

参考目录

https://jetsonhacks.com/2022/01/25/jetson-camera-coding/

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

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

相关文章

复试算法练习Day17——从头到尾打印链表

复试算法练习Day17——从头到尾打印链表 题目描述 输入一个链表的头节点&#xff0c;按链表从尾到头的顺序返回每个节点的值&#xff08;用数组返回&#xff09;。 如输入{1,2,3}的链表如下图: 返回一个数组为[3,2,1] 0 < 链表长度 < 10000 示例1 输入&#xff1a;…

SpringMVC之JSON数据传输参数

目录 一&#xff1a;JSON普通数组 二&#xff1a;JSON对象数据 三&#xff1a;JSON对象数组 前面我们说过&#xff0c;现在比较流行的开发方式为异步调用。前后台以异步方式进行交换&#xff0c;传输的数据使用的是JSON,所以前端如果发送的是JSON数据&#xff0c;后端该如何…

C++11中的多线程的支持

C11中的多线程的支持 千禧年以后&#xff0c;主流的芯片厂商都开始生产多核处理器&#xff0c;所以并行编程越来越重要了。在C98中根本没有自己的一套多线程编程库,它采用的是C99中的POSIX标准的pthread库中的互斥锁,来完成多线程编程。 首先来简单一个概念:原子操作,即多线程…

目标检测框架在目标跟踪中的应用

目标检测框架在目标跟踪中的应用 从SiamRPN将跟踪问题定义为one-shot detection任务之后&#xff0c;出现了大量将检测组件由于跟踪的研究。不过Siamese系列一个很大的问题在于其本质仍然是一个模板匹配问题&#xff0c;网络关注的是寻找与target相似的东西&#xff0c;而忽视…

HCIA之数据发送过程

数据发送过程1、同广播域2、跨广播域&#xff08;需要将数据发送给网关&#xff0c;这通过路由器发包&#xff09;&#xff1a;总结1、同广播域 假设PC1要与PC2通讯&#xff1b; PC1不知道PC2的MAC地址&#xff0c;先发送ARP找到PC2的MAC地址&#xff1b; PC1知道了PC2的MAC地…

使用Python Seaborn绘制热力图(heatmap)的时候怎么改变配色

看到最近有些论文中会对Transformer encoder的attention weights进行可视化&#xff0c;通常会使用heatmap&#xff0c;我参考了一些博客&#xff0c;感觉已经总结得很详细了&#xff0c;例如这篇&#xff1a;python绘制热度图(heatmap)_黄思博呀的博客-CSDN博客_python heatma…

pm2:ecosystem.config.js

一、理解ecosystem.config.js1.1、字面理解&#xff1a;pm2生态系统配置文件。1.2、个人理解&#xff1a;pm2配置文件。类似于vite.config.ts、nuxt.config.ts。1.3、理解pm2&#xff1a;pm2 是一个带有负载均衡功能的Node应用的进程管理器。1.4、pm2的能力&#xff1a;1.4.1、…

【React】React入门(一)--React的创建、Jsx语法与组件以及状态(state)

&#x1f380;个人主页&#xff1a;努力学习前端知识的小羊 感谢你们的支持&#xff1a;收藏&#x1f384; 点赞&#x1f36c; 加关注&#x1fa90; 文章目录React简介react的特性虚拟Dom传统dom更新虚拟Domcreate-react-appJSX语法与组件jsx语法class组件函数组件组件嵌套组件…

基于Springboot搭建java项目(三十六)—— 服务监控工具WGCLOUD

服务监控工具WGCLOUD 一、服务监控 ​ “要想晚上睡的好&#xff0c;服务监控少不了”&#xff0c;服务器监控是应用程序开发中必不可少的一部分&#xff0c;做好服务监控有以下几个优点&#xff1a; 能够及时发现应用程序的漏洞能够定位到程序运行的瓶颈&#xff0c;查看程…

一篇搞懂SQL

前言 根据廖雪峰老师的教程&#xff0c;整理出一篇文章 一&#xff0c;为什么需要数据库&#xff1f; 小量的数据可以使用excel或者cvs存储&#xff0c;但是大批量的数据&#xff0c;这些都无法满足需求。如何管理这些数据就成了大问题。 所以&#xff0c;数据库作为一种专门…

机器视觉_HALCON_HDevelop用户指南_5.HDevelop过程(打磨ing)

文章目录五、HDevelop过程5.1. 过程类型5.2. 文件类型5.2.1. HDevelop程序5.2.2. 过程文件5.2.3. 库5.3. 过程作用域5.4. 过程位置5.5. 过程解析5.6. 受保护的过程5.7. 过程文档5.8. 即时编译&#x1f53a;五、HDevelop过程 Procedure&#xff1a; 在HDevelop文档中&#xff08…

【PyTorch】ImageNet数据集的使用和miniImageNet的构建

【PyTorch】ImageNet的使用和miniImageNet的构建1. ImageNet下载和简介1.1 下载地址1.2 初步处理1.3 devkit介绍2. miniImageNet2.1 miniImageNet的划分3. 使用ImageFolder构建数据集类3.1 重写DataFolder中的方法3.2 BatchSampler实现episode采样3.3 batch可视化1. ImageNet下…

Oracle数据库入门大全

oracle数据库 Oracle 数据库、实例、用户、表空间、表之间的关系 数据库 数据库是数据集合。Oracle是一种数据库管理系统&#xff0c;是一种关系型的数据库管理系统。 通常情况了我们称的“数据库”&#xff0c;并不仅指物理的数据集合&#xff0c;他包含物理数据、数据库管理…

let/const相关内容(五)

1.块级作用域的应用 &#xff08;一&#xff09;if-switch-for代码中的应用 ① if语句的代码就是块级作用域 // if语句的代码块是块级作用域 if (true) {var foo "foo"let bar "bar" }console.log(foo) console.log(bar);② switch语句的代码也是块级…

SQL面试题62--一种准确求近30天消费金额的方法

1 需求现在test表有三个字段 用户&#xff1a; user_id 日期&#xff1a;dt 订单金额 price&#xff0c;计算出一个消费者历史上“首次”在近30天周期内累计消费金额达到1W的日期2 分析&#xff08;1&#xff09;数据准备create table test as select a as user_id,7000 as pri…

数据分析很火吗?千万不要轻易尝试!

据说数据分析现在很火&#xff1f;“现在是数字化时代&#xff0c;工作生活都是与互联网交织在一起&#xff0c;我们的生活习惯、兴趣爱好等都会演变成各种不同的数据被互联网收集存储&#xff08;云存储&#xff09;。作为个人而言这些数据单看的话是没有什么价值和意义的&…

安全卫“视”!昂视助力极片卷绕对齐度检测

价格大涨、产能扩充、加速融资、加快出海、与车企深度绑定&#xff0c;动力电池产业在2022年表现出了极高的市场活力&#xff0c;在疫情的大环境之下&#xff0c;其发展势头是业内外公认的“高亢”。全国乘用车市场信息联席会预计&#xff0c;2023年新能源乘用车销量有望达850万…

SCI论文阅读-深度学习在测井气体红外光谱定量分析中的应用

期刊&#xff1a; Applied Optics中科院最新分区&#xff08;2022年12月最新版&#xff09;&#xff1a;4区影响因子&#xff08;2021-2022&#xff09;&#xff1a;1.905第一作者&#xff1a;宋丽梅通讯作者&#xff1a;Yangang Yang原文链接&#xff1a;Application of deep …

一文弄懂什么是对比学习(Contrastive Learning)

本文是自己学习对比学习的总结&#xff0c;如有问题&#xff0c;欢迎批评指正。 前言 有的paper将对比学习称为自监督学习&#xff08;Self-supervised learning&#xff09;&#xff0c;有的将其称为无监督学习&#xff08;Unsupervised Learning , UL&#xff09;。自监督学…

spring事务执行流程分析_6(事务的真正执行)

代理对象的执行 执行案例中的bookService.addUser(user);会调用到JdkDynamicAopProxy#invoke方法 JdkDynamicAopProxy#invoke public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {Object oldProxy null;boolean setProxyContext false;…