Version 0.1.5 provides support for taking control of managing camera exceptions and errors. It also adds support for connecting multiple CSI camera, especially for the new Jetson Nano development board.
Features
- It is OpenCV ready. The image file can be called directly with OpenCV imshow
- Image file is a NumPy RGB array.
- Support different Camera Flip Mode (Counterclockwise, Rotate 180 degrees, Clockwise - 90 degrees, Horizontal Flip, Vertical Flip)
- Can be used with multiple cameras.
- Support Frame rate enforcement. *Only available for USB, RTSP, and IP/MJPEG cameras.
- Frame rate enforcement ensures the cameras work at the given frame rate using GStreamer video rate plugin
- It is based on Accelerated GStreamer Plugins
- Should work with other Jetson boards like Jetson TX1, TX2 and others (Not tested)
- Support both Hardware and CPU acceleration.
- Easily read images as
numpy
arrays withimage = camera.read()
- Supports threaded read - available to all camera types. To enable a fast threaded read, you will enable the enforce_fps:
enforce_fps = True
- Check the status of the camera after initialization with
isReady()
function. ReturnsTrue
if ready andFalse
if otherwise. - Provide debugging support. Added error codes and an optional exception handling. See example in Debugging. Now you can restart the camera if something goes wrong or send an admin notice if your camera goes down.
- Support multiple CSI cameras using the
device_id
parameter. See examples.
Pip Installation
pip3 install nanocamera
Manual Installation
Download the latest release zip file.
cd NanoCamera
sudo python3 setup.py install