So I have been working on this new library for working with the Jetson Nano in python. It’s a simple to use camera interface for the Jetson Nano for working with USB and CSI cameras in Python. Although tested with only Nano, I believe it should work with other Jetson family since it is based on Accelerated GStreamer Plugins.
It currently supports the following types of camera:
- Works with CSI Cameras.
- Works with various USB cameras.
- Works with IP Cameras (Future version)
Some of the features are:
- It is OpenCV ready. Image file can be called directly with OpenCV imshow
- Image file is a numpy RGB array.
- Support different Camera Flip Mode (Counterclockwise, Rotate 180 degress, Clockwise - 90 degrees, Horizontal Flip, Vertical Flip)
- Can be used with multiple cameras
- Support Frame rate enforcement. *Only available for USB cameras.
- Frame rate enforcement ensures the cameras work at the given frame rate using GStreamer videorate plugin
- It is based on Accelerated GStreamer Plugins
- Should work with other Jetson boards like Jetson TX1, TX2 and others (Not tested)
- Easily read images as numpy arrays with image = camera.read()
- Supports threaded read - available to all camera types. To enable a fast threaded read, you will need to enable the enforce_fps: enforce_fps = True
You can install it with a simple pip call:
pip3 install nanocamera
or clone the GitHub repo.
More details here: