NVIDIA Jetson Nano 2GB 系列文章(6):安装与调用摄像头
本帖最后由 jetson小助理 于 2021-7-6 10:26 编辑在本系列上一篇文章里,我们带领大家体验了视觉功能库。在本篇文章中,我们将带领大家安装与调用摄像头。
不管是 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 性能参数,表示所支持的分辨率,以及该分辨率的最高执行帧率,这样的信息量才能够帮助我们在后面开发应用时作为设定的依据。
其他的设备,请自行修改。
下一篇文章里,我们将教大家如何调用摄像头,敬请关注吧! 你好,请问现在支持 1代 树莓派摄像头了吗
页:
[1]