Visionworks vs Opencv vs VPI

Hi, guys
We are going to implement an application of computer vision base gstreamer. The question is which library should be using, Visionworks or OpenCV?
Considering the performance clarified in VisionWorks_OpenVX_tutorial:

Primitive acceleration with VisionWorks
• Up to 92x speedup compared to OpenCV CPU kernels on Drive PX (Ave 8x)
• Up to 13x speedup compared to OpenCV CUDA kernels on Drive PX (Ave 2x)

We tend to choose Visionworks.
But the last update of Visionworks is four years ago, We not sure if it will be deprecate recently.

And the VPI coming right now , although the version prefix is 0.

We are confusing.

Any suggestion will be helping!
Thank you!!

hi helixch:
if you want to use gstreamer on CV, the better choice is use DeepStream, reference here
https://devblogs.nvidia.com/building-iva-apps-using-deepstream-5-0/
opencv is also a choice which has gstreamer interface, you can reference here for
example:Reading mp4 file via gstreamer in opencv

Thanks for your reply!

Our application is a real time video stream, and some image process by traditional algorithm.
There is no AI and DL. The latency of video stream is most important factor. Visionworks and Cuda accelerated OpenCV both provide plenty tools for our purpose.

We want to make a choice reasonable, Or just do it with anyone?

if just traditional algorithm, opencv is better choice, but you need recompile it if want GPU accelerated with cuda。 with gstreamer interface opencv is also easily to get multi-resource that can accelerated by Jetson hardware. visionwork is a little bit old just for your reference if you need

1 Like

Thank you!