安装与调用摄像头

带领大家安装与调用摄像头。
在本系列上一篇文章 里,我们带领大家体验了视觉功能库。在本篇文章中,我们将带领大家安装与调用摄像头。

不管是 AI 深度学习或者 IOT 应用中,视觉处理都占据非常大的使用比例,而摄像头更是使用率最高的数据源设备,本文就带领大家为 Jetson Nano 2GB 安装摄像头,并且通过一些工具与简单代码,对摄像头进行测试。

Jetson Nano 2GB 开发者套件支持 CSI 摄像头、USB 摄像头和网络摄像头。

本文主要针对入门者,所以重点放在 CSI 摄像头与 USB 摄像头这两种比较合适的设备上,至于 GigE 这种复杂度较高的摄像头,先不做说明。

如何为 Jetson Nano 2GB 选择 CSI 或者 USB 摄像头

在选择摄像头之前,我们可以通过以下网址查看:

https://www.elinux.org/Jetson_Nano#Cameras

这里列出了 NVIDIA 官方推荐的摄像头型号。 

一般来说 USB 接口摄像头都是免驱支持,不多做说明。

但是 CSI 接口的摄像头根据传感器芯片的不同区别很大,不是任何一款 CSI 摄像头都支持 Jetson Nano 产品,所以购买时一定要注意这个问题。目前在 Jetson Nano 上,开发者们常用的 CSI 摄像头是树莓派 V2 摄像头(传感器芯片是 IMX219)。

文章中,我们使用的就是以下这款:

【注意】CSI 摄像头不支持即插即用,所以必须在开机前先装上去,系统才能识别 CSI 摄像头,如果开机之后再安装,会导致 Jetson Nano 2GB 识别不出摄像头,且有其他风险,因此请避免在开机状态下安装摄像头。

安装 CSI 摄像头

Jetson Nano 2GB 有一个 CSI 摄像头接口,位置与外观如下图。

安装摄像头排线之前,我们首先要拔起上面的插销,请一定要特别小心,千万别弄断这个小塑料片,是会影响质保的。

安装时注意排线方向。

有金手指(金属针头)的部分,必须面向 CSI 接口与摄像头接口有排针的一面,并且谨慎地让排线插到底,否则会有接触不良的问题。最后轻轻扣上插销,安装完成!

检测摄像头

安装好摄像头后,我们需要检测一下是否安装正确。

我们为了演示,安装了 1 个 CSI 摄像头以及 2 个 USB 摄像头:

最简单的检测指令如下:

如果摄像头没有问题,且安装正确,这个指令会显示目前安装的摄像头数量。如下截屏:

你会看到列出了单个设备,但是这样的信息量太少,通常无法判断到底哪个编号是哪个摄像头。

要更进一步检测摄像头数量与详细规格,就需要 v4l2-utils 这个工具协助,安装方法很简单,如下指令:

安装完之后,可以用以下指令检测比较完整的信息:

本例中执行这个命令后,会看到下面截屏信息,将三个摄像头都列清楚:

这里就能非常清楚看到第一个(/dev/video0)属于 imx219 规格(CSI)摄像头,第二个(dev/video2)是 USB2.0 的摄像头,接到 xusb-2(规格是 USB3)接口,第三个(/dev/video1)是 USB 摄像头,接到 xusb-3.2 (规格是 USB2)接口,这样就能一目了然知道哪个编号对应哪个摄像头。

接下来还可以用这个指令,进一步检测每个摄像头的更细致规格,包括所支持的图像种类、宽高、帧数等等,这些在后面使用代码时很重要。

请执行以下指令,来看一下第一个 CSI 摄像头的规格参数:

这里更精确地列出了这个摄像头的细节参数,例如显示的“RG10”就算代表这个摄像头的数据格式,下面的“10-bit Bayer RGRG/GBGB”则是进一步说明这个格式使用的算法与通道对应的参数。

再下面的尺寸,例如 3264x2464,其下还有对应的 Interval 性能参数,表示所支持的分辨率,以及该分辨率的最高执行帧率,这样的信息量才能够帮助我们在后面开发应用时作为设定的依据。

其他的设备,请自行修改。

 


评论:
相关文章
MicroPython Wifi网络

ESP32自带了WiFi模块,因此我们可以很容易的让ESP32接入网络。


App Inventor 编程实例及指南-第1章 hello猫咪

本章将开启你的创建应用之旅。这里介绍了App Inventor的关键要素——组件设计器及块编辑器,并手把手地引导读者创建第一个应用:HelloPurr。


21个Tinkercad 建模小技巧(必看)

今天请跟小编一起来了解一下21个Tinkercad 3D建模小技巧,让你快人一步。



工程思维,地球上最聪明的人正在运用的关键思维

工程思维是以解决问题为导向的,实施该思维的前几步都是围绕问题,展开的调研和策划,最终得出设计成果。它非常注重迭代意识,设计出的成果将根据需求不断改进,而非一劳永逸。


搬砖小能手!波士顿动力仓库机器人 Handle 来了

波士顿动力公司宣布与 OTTO Motors 达成合作,OTTO 的自主移动机器人与波士顿动力的 Handle 机器人将在仓库场景下组队,协同工作。



学习机械结构很枯燥?用乐高来试一试吧!

我们将展示十六个作品,从简单到复杂为你理顺各种机构之间的联系。


一份新手M5Stack入坑指南

M5Stack产品快速上手指南


M5Stack Core控制器

M5Stack BASIC 是一款高性价比的物联网入门级主控。

Jetson Nano 基础教程

作者:英伟达小助理   共52讲

Jetson Nano 推出 2GB 内存版本,不仅承袭了 Jetson Nano 所有 AI 开发环境与 IOT 控制功能,也能学习或开发 Python、OpenCV 与 AI 深度学习、ROS 自动控制等应用。

课程