AlliedVision camera - USB3.0 - Python - OpenCV operations on CUDA

Hello,

I use VimbaPython as API for Allied Vision camera, which is connected through USB port to Nvidia Jetson Orin NX.

Is possible to stream frames from camera directly to GPU memory? Now I need to capture frames on CPU and then send it to GPU through object like in following example:

Transfer image to GPU

gpu_frame = cv.cuda_GpuMat()
gpu_frame.upload(img_cpu)

Now I need copy each frame in this way, but it is time consumption.

Is any better way to transfer frames from AlliedVision camera directly do GPU memory, taken into account, that camera is connected through USB 3.0 interface?

Thank You very much for help and any suggestions.
Best regards
Jakub Slon

Hi,
Do you use v4l2 interface to capture frame data? If yes, you may refer to the sample which demonstrates capturing frame data into NvBufSurface:

/usr/src/jetson_multimedia_api/samples/12_v4l2_camera_cuda/

NvBufSurface can be mapped to GPU without additional memory copy.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.