JetCam
来自Waveshare Wiki
JetCam
JetCam是一个容易上手、适用于NVIDIA Jetson的Python相机。
•使用Jetson的Accelerated GStreamer插件可与各种USB和CSI摄像机配合使用
•使用image = camera.read()可轻松将图像读取为numpy数组
•设置相机以running = True将回调附加到新框架
JetCam让在Python中创建AI项目的原型变得容易,尤其是在JetCard中安装的Jupyter Lab编程环境中。
如果您发现问题,请告诉我们!
设定
- git clone https://github.com/NVIDIA-AI-IOT/jetcam
- cd jetcam
- sudo python3 setup.py install
- JetCam已针对配置了JetCard设置的系统进行了测试。不同的系统配置可能需要其他步骤。
用法
下面我们列举一些用法示例。您可以在notebooks中找到更多内容。
创建CSI摄像机
- 调用CSICamera函数以使用兼容的CSI摄像机
- 其中capture_width、capture_height和capture_fps将控制获取图像的捕获形状和速率
- width和height控制该read函数返回图像的最终输出形状。
- from jetcam.csi_camera import CSICamera
- camera = CSICamera(width=224, height=224, capture_width=1080, capture_height=720, capture_fps=30)
创建USB相机
- 调用USBCamera函数以使用兼容的USB相机,应用与CSICamera 相同的参数,以及指示设备索引的参数capture_device。您可以通过调用ls /dev/video*来检查设备索引。
- from jetcam.usb_camera import USBCamera
- camera= USBCamera(capture_device=1)
读取
- 调用read()函数以读取最新图像numpy.ndarray的数据类型np.uint8和形状(224, 224, 3)。颜色格式为BGR8。
- image = camera.read()
- read函数还会更新相机的内部value属性。
- camera.read()
- image = camera.value
回调
- 您也可以将相机设置为running = True,这将产生一个从相机获取图像的线程,会自动更新相机的value属性。
- 您可以使用traitlets库将回调函数附加到该值,这将使用新的相机值和旧的相机值调用回调。
- camera.running = True
- def callback(change):
- new_image = change['new']
- # 做一些处理......
- camera.observe(callback, names='value')
摄像头
CSI相机
- 以下相机与CSICamera类一起使用,可以按照notebook的例子来尝试它们。
型号 | 红外 | 视角 | 分辨率 | 价格 |
---|---|---|---|---|
Raspberry Pi Camera V2 | 62.2 | 3280x2464 | 143 RMB | |
Raspberry Pi Camera V2 (NOIR) | √ | 62.2 | 3280x2464 | 148 RMB |
Arducam IMX219 CS lens mount | 3280x2464 | 455 RMB | ||
Arducam IMX219 M12 lens mount | 3280x2464 | 420 RMB | ||
LI-IMX219-MIPI-FF-NANO | 3280x2464 | 203 RMB | ||
WaveShare IMX219-77 | 77 | 3280x2464 | 98 RMB | |
WaveShare IMX219-77IR | √ | 77 | 3280x2464 | 113 RMB |
WaveShare IMX219-120 | 120 | 3280x2464 | 108 RMB | |
WaveShare IMX219-160 | 160 | 3280x2464 | 125 RMB | |
WaveShare IMX219-160IR | √ | 160 | 3280x2464 | 138 RMB |
WaveShare IMX219-200 | 200 | 3280x2464 | 148 RMB |
USB相机
- 以下相机与USBCamera类一起使用,可以按照notebook的例子来尝试它们。
型号 | 红外 | 视角 | 分辨率 | 价格 |
---|---|---|---|---|
Logitech C270 | 60 | 1280x720 | 126 RMB |
更多资讯如下
•JetBot——基于NVIDIA Jetson Nano的教育型AI机器人
•JetRacer——使用NVIDIA Jetson Nano的教育性AI赛车
•JetCard——用于使用NVIDIA Jetson Nano进行Web编程AI项目的SD卡映像
•torch2trt——易于使用的PyTorch到TensorRT转换器