英伟达 Jetson Nano 新手必备:使用CSI或USB摄像头拍摄第一张照片
英伟达 Jetson Nano 新手必备:使用CSI或USB摄像头拍摄第一张照片
- 1. 引言
- 1.1 支持的摄像头
- 1.2 nvgstcapture
- 2. 在屏幕上开始捕获和预览显示
- 2.1 CSI摄像机
- 2.2 USB摄像头
- 3. 拍照并保存到磁盘
- 3.1 CSI摄像机
- 3.2 USB摄像头
- 4. 捕获视频并保存到磁盘
- 4.1 CSI摄像机
- 4.2 USB摄像头
- 5. 在容器内使用相机
- 5.1 CSI摄像机
- 5.2 USB摄像头
- 6. 有用的资源
1. 引言
本指南将向您展示如何快速启动和运行CSI和USB摄像头。通过遵循本指南,您将能够:
- 在屏幕上开始捕获和预览显示
- 拍照并保存到磁盘
- 捕获视频并保存到磁盘
- 如何使用带容器的相机
1.1 支持的摄像头
Jetson开发包有多个用于连接相机的接口,包括USB、以太网和MIPI CSI-2。流行的相机是现成的支持,而Jetson生态系统合作伙伴支持广泛的附加相机组合。
现成支持的流行摄像头包括IMX219摄像头模块,如Raspberry Pi camera Module V2、Intel Realsense和Stereozed 3D摄像头以及标准USB网络摄像头。
1.2 nvgstcapture
下面的示例使用nvgstcapture gstreamer应用程序通过nvidiaapi访问相机功能。有关nvgstcapture的更多信息和命令,请参阅L4T指南的“多媒体”部分。
2. 在屏幕上开始捕获和预览显示
2.1 CSI摄像机
有关如何连接MIPI CSI-2相机的带状电缆的信息,请参阅Jetson Nano 2GB Developer Kit User Guide(Jetson Nano 2GB开发工具包用户指南)。
为了检查CSI摄像机是否工作,您可以运行以下命令,该命令将启动捕获并在屏幕上预览显示它。
nvgstcapture-1.0
此示例命令将图像旋转180度(垂直翻转)
nvgstcapture-1.0 --orientation 2
2.2 USB摄像头
您需要告诉nvgstcapture在哪里可以找到您的USB摄像头设备(代替默认的CSI摄像头)。
# V4L2 USB camera (where <N> is the /dev/videoN node)
nvgstcapture-1.0 --camsrc=0 --cap-dev-node=<N>
3. 拍照并保存到磁盘
3.1 CSI摄像机
运行时命令行选项
nvgstcapture-1.0
- 按“j”键拍摄一张图像。
- 按“q”退出
自动命令行选项
nvgstcapture-1.0 --automate --capture-auto
注意:使用“nvgstcapture-1.0–help”来引用支持的命令行选项
3.2 USB摄像头
运行时命令行选项
nvgstcapture-1.0 --camsrc=0 --cap-dev-node=<N> (where N is the /dev/videoN Node)
- 按“j”键拍摄一张图像。
- 按“q”退出
自动命令行选项
nvgstcapture-1.0 --camsrc=0 --cap-dev-node=<N> --automate --capture-auto (where N is the /dev/videoN Node
注意:使用“nvgstcapture-1.0–help”来引用支持的命令行选项
4. 捕获视频并保存到磁盘
4.1 CSI摄像机
运行时命令行选项
nvgstcapture-1.0
- 按“1”开始录制视频
- 按“0”停止录制视频
- 按“q”退出
自动命令行选项
nvgstcapture-1.0 --mode=2 --automate --capture-aut
注意:使用“nvgstcapture-1.0–help”来引用支持的命令行选项
4.2 USB摄像头
运行时命令行选项
nvgstcapture-1.0 --mode=2 --camsrc=0 --cap-dev-node=<N> (where N is the /dev/videoN Node)
- 按“1”开始录制视频
- 按“0”停止录制视频
- 按“q”退出
自动命令行选项
nvgstcapture-1.0 --mode=2 --camsrc=0 --cap-dev-node=<N> --automate --capture-auto (where N is the /dev/videoN Nod
注意:使用“nvgstcapture-1.0–help”来引用支持的命令行选项
5. 在容器内使用相机
5.1 CSI摄像机
命令是一样的,只要在用“docker run”启动容器时将此选项添加到命令行
--volume /tmp/argus_socket:/tmp/argus_socket
5.2 USB摄像头
使用“docker run”启动容器时,通过在命令行中添加以下选项来装载相应的/dev/video*设备:
--device /dev/video0
以上假设您的V4L2 USB摄像头为/dev/video0
6. 有用的资源
GITHUB上的JETSON推理项目(jetson-inference)包括Python和C++的相机API,它们可以流CSI和USB摄像头、RTP/RTSP和视频文件。有关更多信息,请参阅照相机流媒体和多媒体。
有关与Jetson兼容的相机目录,请参阅Jetson合作伙伴支持的相机页面。