I’m trying to capture an image as quickly as possible using a pi camera attached to the Jetson Nano and then process it.
Currently I use this parameter to capture the image in Python
dispW = 320 dispH = 240 flip = 2 camSet='nvarguscamerasrc ! video/x-raw(memory:NVMM), width=3264, height=2464, format=NV12, framerate=21/1 ! nvvidconv flip-method='+str(flip)+' ! video/x-raw, width='+str(dispW)+', height='+str(dispH)+', format=BGRx ! videoconvert ! video/x-raw, format=BGR ! appsink'
I calculated the time before starting the gstreamer and after grabbing an image. It takes roughly 1.2 sec to write the image to a destination folder. The time is quite high for me. An option is to maybe reduce the resolution of the camera. Time consumed by cv2.VideoCapture() is nearly 1 sec but are there any possibilities of maybe writing an image faster like:
- Run the OpenCV program on GPU instead of CPU
- Change GStreamer config
- Use other programming languages like C++ or GoLang
- Or use a USB3 camera for faster image processing