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编程环境中。

如果您发现问题,请告诉我们

设定

  1. git clone https://github.com/NVIDIA-AI-IOT/jetcam
  2. cd jetcam
  3. sudo python3 setup.py install
  • JetCam已针对配置了JetCard设置的系统进行了测试。不同的系统配置可能需要其他步骤。

用法

下面我们列举一些用法示例。您可以在notebooks中找到更多内容。

创建CSI摄像机

  • 调用CSICamera函数以使用兼容的CSI摄像机
  • 其中capture_width、capture_height和capture_fps将控制获取图像的捕获形状和速率
  • width和height控制该read函数返回图像的最终输出形状。
  1. from jetcam.csi_camera import CSICamera
  2. camera = CSICamera(width=224, height=224, capture_width=1080, capture_height=720, capture_fps=30)

创建USB相机

  • 调用USBCamera函数以使用兼容的USB相机,应用与CSICamera 相同的参数,以及指示设备索引的参数capture_device。您可以通过调用ls /dev/video*来检查设备索引。
  1. from jetcam.usb_camera import USBCamera
  2. camera= USBCamera(capture_device=1)

读取

  • 调用read()函数以读取最新图像numpy.ndarray的数据类型np.uint8和形状(224, 224, 3)。颜色格式为BGR8。
  1. image = camera.read()
  • read函数还会更新相机的内部value属性。
  1. camera.read()
  2. image = camera.value

回调

  • 您也可以将相机设置为running = True,这将产生一个从相机获取图像的线程,会自动更新相机的value属性。
  • 您可以使用traitlets库将回调函数附加到该值,这将使用新的相机值和旧的相机值调用回调。
  1. camera.running = True
  2. def callback(change):
  3. new_image = change['new']
  4. # 做一些处理......
  5. camera.observe(callback, names='value')

摄像头

CSI相机

型号 红外 视角 分辨率 价格
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相机

型号 红外 视角 分辨率 价格
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转换器